java中对List的操作

255 阅读1分钟

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());