java中对List的操作,使用java8新特性来操作的一些经验:
//1:获取 list对象集合中指定id相同的元素获取第一个匹配的
FofSonChangeEntity oldFofSonData=oldfofSonDatas.stream().filter(t->t.getFundId().equals(extractNewData.getFundId())).findFirst().get();
//2:对fundList进行去重
fundList = fundList.stream().distinct().collect(Collectors.toList());
List list1 = list.stream().map(A::getId).collect(Collectors.toList());\未去重 List list2 = list.stream().map(A::getAge).collect(Collectors.toList());//未去重 List list3 = list.stream().map(A::getAge).distinct().collect(Collectors.toList());//已去重
//3:对对象list根据某一指定关键字段进行去重
List afterTreatmentList=acceptingChargeDataEntities.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(AcceptingChargeDataEntity::getLogId))), ArrayList::new));
//4:获取对象list的所有对象的其中一个字段的集合
List oldListFundId=oldList.stream().map(CrmAnnotationEntity::getFundId).collect(Collectors.toList());