//filter过滤组成一个新的集合
List<OtCdwEntity> collect = otCdwEntityList.stream().filter(x -> x.getClientWeight()>= 2 && x.getClientLong()>=2).collect(Collectors.toList());
//map()返回的Stream类只有count()方法
//mapToInt()、mapToLong()、mapToDouble()返回IntStream、LongStream 和 DoubleStream 等流的类,包含average(),sum(),count()等折叠方法。
double sum = otCdwEntityList.stream().mapToDouble(x -> x.getClientLong() * x.getClientWide() * x.getClientTall()).sum();
double avg = otCdwEntityList.stream().mapToDouble(x->x.getClientWeight()).average().getAsDouble();
//count方法统计集合个数,没啥用
double count = otCdwEntityList.stream().mapToDouble(x->x.getClientWeight()-1).count();
//limit取前n个元素
List<OtCdwEntity> limit = otCdwEntityList.stream().limit(2).collect(Collectors.toList());;
//limit取后n个元素
List<OtCdwEntity> skip = otCdwEntityList.stream().skip(2).collect(Collectors.toList());;
//map集合倒序排列
Map<String,String> map1 = new TreeMap<>((x,y)->y.compareTo(x));
map1.put("1","3");
map1.put("2","2");
map1.put("3","1");
map1.forEach((x,y)-> System.out.println(x+""+y));
lambda表达式和Stream流
最新推荐文章于 2022-05-29 10:35:29 发布