jdk 1.8 处理 map和list
1.map 的 key 和 value 反转

2. list<Object> 取两列转成 map<String,String> map

3. list<Object> 转成 map 集合 map<String,list<Object>> map 集合

4. list<Object> 转成 map 对象 map<String,Object> map 集合

5.list<Object> 集合 转成 list<String> 集合

5.两个 list<Object> 集合 合并 成一个 list<Object> 集合

6.计算一个 list<Object> 集合 其中一个字段的总和
第一种:

第二种:

7.list<ObjectA> 转换成 list<ObjectB>

8.List<Object> list set 其中一个属性值

9.List<ObjectA> 转 List<ObjectB>

9+1 . List<ObjectA> 转 Map<String,List<String>>

9+2 . List<ObjectA> 转 Map<String,Set<String>>
Map<String, Set<String>> map = new HashMap<>();

List 里面 取 list

10. List<Object> list 取 一个属性的最大和最小值

9+2 ,List<Map<String,Object>> 转 Map<String,Map<String,Object>>
List<Map<String,Object>> list = new ArrayList<>();
Map<String,Map<String,Object>> map = list.stream().collect(Collectors.toMap(each->Objects.toString(each.get("id"),""),each->each,(key1,key2)->key1));
9+3. List<Map<String,String>> 转成 Map<String,String>
List<Map<String,String>> list = new ArrayList<>();
Map<String,String> map = list.stream().collect(Collectors.toMap(each->each.get("id"),each->each.get("name"),(key1,key2)->key1));
9+4,
List<Map<String,String>> list = new ArrayList<>();
Map<String,Map<String,String>> map = list.stream().collect(Collectors.toMap(each->each.get("id"),each->each,(key1,key2)->key1));
10 . List<Integer> list 求和 (reduct函数 从左向右 减少)


sorted() 函数,把什么分类 ,,startsWith 函数 表示起始位置

collect 函数,聚合 成 集合。

10++; List<String> 统计每个元素的个数

Map<String, Long> mapNum = gxry.stream().collect(Collectors.groupingBy(t -> t, Collectors.counting()));
11.stream() 倒序和正序方法

10 快速插入批量数据

11.List<Object> list 去重
List<UserUaaInfo> distinctList = list.stream() .collect(Collectors.collectingAndThen(
Collectors.toMap(UserUaaInfo::getAccount, Function.identity(), (v1, v2) -> v1),map -> new ArrayList<>(map.values()) ));

12 转map 去重
List<RhUserEntity> rhUserEntities = userMap.get(req.getSubjectId());
Map<String, String> map = rhUserEntities.stream().collect(Collectors.toMap(RhUserEntity::getUserId, RhUserEntity::getName, (v1, v2) -> v1));


浙公网安备 33010602011771号