用JAVA8处理List的方式

时间:2025-02-15 09:30:16

JAVA8使用.stream()操作List

示例:List<BO> list = (startTime, endTime);

  1. BO对应数据操作对象
  2. list 为结果集

一些特殊的场景Mysql不好处理, 只能通过代码控制,java8新特性Lambda帮助我们在开发中使用精简的几行代码就解决了,不需要特意的去遍历操作数据了

1.设置list中的属性值

代码如下(示例):设置姓名为AAA

  1. list.forEach(demo -> {
  2. ("AAA");
  3. });

2.过滤数据

代码如下(示例):过滤姓名不为AAA的

list= list.stream().filter(bo -> !("AAA")).collect(());

3.排序

代码如下(示例):正序

list = list.stream().sorted((BO::getSort)).collect(());

代码如下(示例):倒序

list = list.stream().sorted((BO::getSort).reversed()).collect(());

代码如下(示例):多条件正序

list = list.stream().sorted((BO::getSort).thenComparing(KdPost::getAge)).collect(());

代码如下(示例):多条件倒序

list = list.stream().sorted((BO::getSort).reversed().thenComparing(KdPost::getAge).reversed()).collect(());

4.分组

代码如下(示例):分组生成多个List

Map<String, List<VO>> data = list.stream().collect((VO::getGroupId));

 5.比较

代码如下(示例):判断list对象中是否包含名字为a的

boolean bool = ().anyMatch(a -> ().equals("a"));

总结

这单单只是的对list进行处理, java8还可以操作其他集合,个人感觉是对数据库函数的一些实现.功能非常强大,日常开发非常实用,强烈推荐