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