20230830工作心得:巧用标记位和For循环遍历

1 巧用标记位和For循环遍历

您可以使用一个 `Map<String, List<xxx>>` 类型的数据结构来根据手机号分组并保存多条线索。然后,可以按照以下方式进行操作:

  1. 设置一个标志位,比如一个布尔变量,用于记录是否已经成功推送了第一条线索。

  2. 遍历 `Map` 的键集合(即手机号集合)。

  3. 对于每个键(手机号),取出与之关联的线索列表。

  4. 遍历该列表,将相关参数(包括标志位)传入方法。

  5. 这个方法会返回一个标志位,表示是否成功执行了推送操作。您可以根据该标志位来决定是否将其设置为"已推送"状态。

  6. 在下一次循环开始时,继续从手机号对应的第一条线索开始执行。

这样操作后,同一个手机号一般只会在第一次推送成功后被标记为已推送,后续的线索都不会被再次推送。

代码写起来就像这样(待补充):

2 List类型 list.foreach 可以直接挨个修改list里的值

复制代码
List<Person> personList = new ArrayList<>();
personList.add(new Person(10, "zhangsan"));
personList.add(new Person(11, "lisi"));
personList.forEach(person -> person.setAge(1));

当然,你也可以用stream流完成这个操作。

复制代码
List<Person> personList1 = personList.stream().map(person -> {
    person.setAge(1);
    return person;
}).collect(Collectors.toList());

3 窗口函数根据某个条件分组,组内排序,然后取每组第N行或第N到M行数据

//取每组第一行数据

row_number() over(partition by xxx order by tc.create_time desc) as number where number = 1;

//取每组第1到3条数据

WHERE number BETWEEN 1 AND 3;

4 执行SQL语句,然后用List<Tuple>接收

为啥先用Tuple接受?

在某些情况下,查询结果可能包含多个表的联合查询,或者只要其中几个列的值 ,或者使用了复杂的 SQL 查询语句,导致查询结果的列与目标类的属性名称不完全匹配。这时,使用 List<Tuple> 类型可以接收包含多种类型数据的查询结果。

先用Tuple接受 ,然后转化为对应的类型。优雅。

代码像这样:

复制代码
//查询结果
List<Tuple> tuples = personRepository.findFirstByPhone(phones, "brand");
//映射
List<User> userList = JpaResultUtils.processResult(tuples, User.class);

5 删除 StringBuilder 最后一个字符

StringBuilder s = new StringBuilder();

s.append("123").append(",");

s.append("345").append(",");

s.delete(s.length()-1,s.length()); //删除最后一个字符,在这里就是删除最后一个逗号

相关推荐
糖果店的幽灵9 小时前
langgraph的 MessagesState 解读
java·开发语言·人工智能·windows·langgraph
骑上单车去旅行11 小时前
MD5校验对比脚本
linux·服务器·windows
FreeBuf_13 小时前
Windows NT OS内核提权漏洞PoC已公开
windows
雲帝14 小时前
Windows虚拟机UDP大包分片排障
windows·网络协议·udp
李少兄15 小时前
Windows 键盘快捷键指南
windows·计算机外设·快捷键
寒水馨15 小时前
Windows下载、安装scrcpy-v4.1(附安装包scrcpy-win64-v4.1.zip)
windows·scrcpy·投屏工具·安卓投屏·usb调试·android投屏·屏幕镜像
神仙别闹16 小时前
基于QT(C++)实现Windows 自启动项查看和分析
c++·windows·qt
love530love1 天前
OpenClaw Windows Companion 桌面客户端 连接 LM Studio 完整配置指南
人工智能·windows·python·openclaw
光年像素2 天前
Windows Win+R 运行框常用快捷命令大全
windows
寒水馨2 天前
Windows下载、安装ollama-v0.32.1(附安装包OllamaSetup.exe)
windows·llm·大语言模型·llama·本地部署·ollama·模型运行