List.stream()常⽤⽅法
1 将List转成map幼儿午睡的重要性
list.stream().Map(xxx)): list.stream():把list转成流,list.stream().collect():把流转回list.
⽰例:
大米饭的做法
List<JSONObject> candidates = CandidateList();
//candidates 是从数据库⾥查出来结果集,包含,eventId,suppNm,rank三个字段,现在把eventId当key,suppNm,rank转成jsonobject当value. Map<String, List<JSONObject>> candidatesMap = candidates.stream().Map(w -> w.getString("eventId"), w -> { ArrayList<JSONObject> candidateList = new ArrayList<>();
JSONObject jsonObject = new JSONObject();
波斯人jsonObject.put("suppNm",w.get("suppNm"));
jsonObject.put("rank",w.get("rank"));
candidateList.add(jsonObject);
return candidateList;
初一寒假作业
},追梦女孩
//指定key重复的处理⽅式
(List<JSONObject> oldValue,List<JSONObject> newValue)->{ oldValue.addAll(newValue); return oldValue; }));
2 对list<T>中的泛型数据做处理
最大单体建筑List<JSONObject> list = archMapper.categorySelect();乡村英文
//list是查询的结果集,包含firstCode,firstName字段
List<JSONObject> parent_id = list.stream().map(e -> {
将list⾥的JSONObject类型取出来做处理,仍旧映射成JSONObject类型,也可以取出⼀个字段映射成string类型
JSONObject jsonObject = new JSONObject();
jsonObject.put("code",e.get("firstCode"));
jsonObject.put("name",e.get("firstName"));
return jsonObject;
暖心歌曲
}).distinct().List());
distinct()是去重,还有filter()过滤,limit()限制条数,sort()排序,forEach()循环处理list每条数据等⽅法.
还可以组合使⽤
list.stream().filter(x1 ->x1过滤条件).map(e -> {})这样符合filter过滤条件的数据才会映射