Java Lambda List stream

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());
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章