O uso do Stream stream, um novo recurso do JDK8

1. Obtenha rapidamente uma coleção de determinados elementos de uma coleção de objetos, como obter uma coleção de ID de uma lista de funções:

List<long> idList = roleList.stream().map(CameraRole::getCameraId).collect(Collectors.toList());

2. Converta a coleção de objetos em outra coleção de objetos, por exemplo:

List<CameraGroupVO> collect = list.stream().map(this::entityVO).collect(Collectors.toList());

3. Obtenha a concatenação de strings de um elemento da coleção de objetos, por exemplo, obtenha a concatenação de strings do ID do departamento:

String idsStr = deptList.stream().map(dept -> Func.toStr(dept.getId())).distinct().collect(Collectors.joining(","));

4. Filtre a coleção de objetos de acordo com uma determinada condição, por exemplo, filtre a coleção de menus para obter a coleção de menus que atenda às condições:

List<Menu> collect = routes.stream().filter(x -> Func.equals(x.getCategory(), 1)).collect(Collectors.toList());

5. Converta a coleção de objetos em Map<Long, Object>, por exemplo, converta a coleção de objetos em um mapa onde chave é a chave primária e valor é o objeto:

Map<Long, StrategyCustomerLabel> map = labelList.stream().collect(Collectors.toMap(StrategyCustomerLabel::getId, o -> o));

6. Agrupe a coleção de objetos em um mapa de acordo com uma determinada regra, por exemplo, agrupe a coleção de notas de acordo com o código exclusivo do usuário:

Map<String,List<FinanceCustomerTotalBill>> uniqueCodeMap = billList.stream().collect(Collectors.groupingBy(FinanceCustomerTotalBill::getUniqueCode));

Acho que você gosta

Origin blog.csdn.net/weixin_38863607/article/details/132339546
Recomendado
Clasificación