JAVA8使用.stream()操作List
示例:List<BO> list = (startTime, endTime);
-
BO对应数据操作对象
-
list 为结果集
一些特殊的场景Mysql不好处理, 只能通过代码控制,java8新特性Lambda帮助我们在开发中使用精简的几行代码就解决了,不需要特意的去遍历操作数据了
1.设置list中的属性值
代码如下(示例):设置姓名为AAA
-
list.forEach(demo -> {
-
("AAA");
-
});
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还可以操作其他集合,个人感觉是对数据库函数的一些实现.功能非常强大,日常开发非常实用,强烈推荐