Java Lambda stream filter
工作記錄
// filter
List<Match> tempMatchList = matchList.stream().filter(a -> 1 == a.getMatchResult()).collect(Collectors.toList());
// forEach
List<Integer> list = new ArrayList<>();
blockProjectDtoList.stream().forEach(b->list.add(b.getId()));
// 排序 - > 倒序
blockProjectDtoList.stream().sorted(Comparator.comparing(BlockProjectDto::getId).reversed())
// 獲取list中某一屬性相同的數據分組
Map<String,List<User>> personMap = users.stream().collect(Collectors.groupingBy(User::getName));
// 過濾List<Map<String, Object>>
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map = new HashMap<>();
map.put("name", "1");
map.put("id", "q");
Map<String, Object> map2 = new HashMap<>();
map2.put("name", "2");
map2.put("id", "w");
Map<String, Object> map3 = new HashMap<>();
map3.put("name", "3");
map3.put("id", "e");
list.add(map);
list.add(map2);
list.add(map3);
List<Map<String, Object>> result = list.stream().filter(v ->"2".equals(v.get("name"))).collect(Collectors.toList());
// 過濾重複值
List<Integer> nvrIds = deviceCameraList.stream().map(DeviceCamera::getNvrId).distinct().collect(Collectors.toList());
// List 轉map 取指定列
Map<String, String> map =dicts.stream().collect(Collectors.toMap(Dict::getCode, Dict::getName));
// List 轉 List<Map>
List<Map> d = deviceLadderControls.stream().map(v -> {Map map = new HashMap<>();
map.put("deviceCameraId",v.getDeviceCameraId());
map.put("installPlace",v.getInstallPlace());
return map;
}).collect(Collectors.toList());