java8 stream流的使用


List list = new ArrayList<>();
list.add(new Paper("m",2L));
list.add(new Paper("a",1L));
list.add(new Paper("j",3L));
list.add(new Paper("t",4L));
list.add(new Paper("b",5L));

 遍历:

  list.stream().forEach(item ->{


});

 排序: 

List collect = list.stream().sorted(Comparator.comparing(Paper::getPaperName)).collect(Collectors.toList());

 分组:

Map> collect =list.stream().collect(Collectors.groupingBy(Paper::getPY));

 最大最小值:

Optional max =list.stream().max(Comparator.comparing(Paper::getPaperName));
if (max.isPresent()) {//防止空指针
......
}

 转换map:

Map collect2 = list.stream().collect(Collectors.toMap(Paper::getPaperId, Paper::getPaperName));

 过滤:

Optional min = x.getSchedulingList().stream().filter(s -> s.id()>=1).min(Comparator.comparing(Paper::getPaperName));