0%

2022-06

stream 流实现分页

1
2
3
4
5
6
7
8
9
10
// 分页例子
void pageByStream(List<Object> codeList) {
int pageSize = 20;
int totalCount = codeList.size();
int totalPage = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1;

for (long i = 0; i < totalPage; i++) {
List<Object> pageCodeList = codeList.stream().skip(i * pageSize).limit(pageSize).collect(Collectors.toList());
}
}

toMap

1
Map<Long, ContractDetail> contractDetailMap = contractDetailList.stream().collect(Collectors.toMap(ContractDetail::getContractId, Function.identity(), (v1, v2) -> v1));

groupBy

1
Map<Long, List<QueryPeopleReturnVo>> peopleVoMap = peopleReturnVos.stream().collect(Collectors.groupingBy(QueryPeopleReturnVo::getCustomerCode));