【关于Lambda表达式】 Lambda表达式是 JDK8的新特性,可以取代大部分的匿名内部类,写出更优雅简洁的Java代码,我在日常撸代码的时候常用的地方是集合的遍历和其他集合操作中,极大的优化了代码结构,总之一句话就是少写代码,可以提高我们的编程思维,话不多说,上Demo~~~ 先准备个实体类 分组 过滤 求和 最值 排序 去重 获取list对象某个字段组装新的list 批量设置list列表字段为同一个值 循环Lambda表达式提供了一些方便的list操作的方法,主要覆盖分组、过滤、求 和、最值、排序、去重
import java.util.Date; public class XianYu { //姓名 private String name; //年龄 private int age; //性别 private String gender; //生日 private Date birthdayDate; }
通过groupingBy将集合分组拆分成多个集合//通过年龄分组,得到一个以年龄为key,用户集合为值的Map集合 Map <Integer,List<XianYu>> groupByAge = xianYuList.stream().collect(Collectors.groupingBy(XianYu::getAge));
通过filter方法可以过滤一些条件//过滤 //筛选名字为“uzi”的用户 //filter内添加条件,保留返回true的实例 List<XianYu> list = xianYuList.stream().filter(s -> s.getName.equals("uzi")).collect(Collectors.toList());
通过mapToInt方法可以基本类型求和//求和 //基本类型 int sumAge = xianYuList.stream().mapToInt(XianYu::getAge).sum();
求最大与最小值,使用min max方法//最小 Date minBirthdayDate = xianYuList.stream().map(XianYu::getBirthdayDate).min(Date::compareTo).get(); //最大 Date maxBirthdayDate = xianYuList.stream().map(XianYu::getBirthdayDate).max(Date::compareTo).get();
通过sort对单字段多字段进行排序
//排序//单字段排序 xianYuList.sort(Comparator.comparing(XianYu::getName)); //多字段排序 xianYuList.sort(Comparator.comparing(XianYu::getName).thenComparing(XianYu::getAge));
通过distinct方法进行去重List<Long> idList = new ArrayList<Long>(); idList.add(1L); idList.add(1L); idList.add(2L); List<Long> distinctIdList = idList.stream().distinct().collect(Collectors.toList());
//获取list对象的某个字段组装成新list List<String> nameList= xianYuList.stream().map(a -> a.getName()).collect(Collectors.toList());
xianYuList.stream().forEach(a -> a.setAge("0"));
使用forEach进行循环//替换用户名称不为空的名字为“XIXI” xianYuList.forEach((s) -> { if(null != s.getName()){ s.setName("XIXI"); } });
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算