java8 stream使用
程序员文章站
2022-05-28 13:37:22
...
// 取到某个字段等于某个值的list(唯一值)
List<MetaData> s = metaDataList.stream().filshuter(x -> x.getValue().equals("1")).collect(Collectors.toList());
// 渠道某个字段等于某个值的list中的字段的值(唯一值)
String s1 = metaDataList.stream().filter(x -> x.getValue().equals("1")).collect(Collectors.toList()).get(0).getLabel();
## List取交集
// 两个list取交集
List<Software> resList = list.stream().filter(item -> knownSoftList.stream().map(e -> e.getName()).collect(Collectors.toList()).contains(item.getName())).collect(Collectors.toList());
// 根据某个字段去重
resList = resList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(Software::getName))), ArrayList::new));