java练习生 - 常用list 操作
新建:
List<ProcessSyncPO> needSyncDataList = new ArrayList<>();
数组转List
List<String> excludeLoanKind = Arrays.asList(unGenerateExcLoanKind.split(","));
选择单列并排序,最后输出为List:
List<String> loansideList = statistics.stream().map(x -> x.getLoanSideName()).distinct().sorted().collect(Collectors.toList());
按照某列进行排序,最后输出为List:
fundWarningCounts.stream().sorted(Comparator.comparing(FundWarningCount::getCount).reversed()).collect(Collectors.toList());
查询满足条件的记录:
statistics.stream().filter(x -> loanSide.equals(x.getLoanSideName()) && loanKind.equals(x.getLoanKindName())).collect(Collectors.toList());
查询满足条件的数量:
statistics.stream().filter(x -> loanSide.equals(x.getLoanSideName()) && x.getCreateTime().toLocalDate().isBefore(LocalDate.parse(pivotalDate))).count();
分组:
Map<Long, List<SyncRequestEntity>> resultList = requests.stream().collect(Collectors.groupingBy(SyncRequestEntity::getSyncId));
分组后获取一列:
Map<Long, List<Long>> resultList = requests.stream().collect(Collectors.groupingBy(SyncRequestEntity::getSyncId, Collectors.mapping(SyncRequestEntity::getRequestId, Collectors.toList())));