list 使用Stream转map记录
将一个List集合中每个元素作为key, List集合中每个元素循环调用某方法得到的值作为value,生成一个map:
eg:
public Map<String, Set<String>> getSectCodeMapStnCodes1(String bureauCode){
//段信息
List<Jcdept> jcdepts = BU_MAP_SECTION.get(bureauCode);
//jcdepts的 k-v映射
Map<String, String> collect = jcdepts.stream().collect(Collectors.toMap(JcDeptBase::getDeptcodeKyz, JcDeptBase::getDeptname));
// 段码映射站码list
return collect.keySet().stream().collect(Collectors.toMap(k -> k, v -> {
// 调取其他接口方法获取段下属站长码集合作为value,(其中k 和 v 都是collect.keySet()集合中的值,也可以写成k -> k, k2 -> {)
return jcdeptController.jcbureaulist1(new HashMap<String, String>() {{
put("deptname", sectionCodeMapName.get(v));
}}).stream().map(JcDeptBase::getDeptcodeKyz).collect(Collectors.toSet()); //将本次循环中通过调用方法得到的所有站集合的长码收集成set集合,作为value。
}));
}
2. Stream转map常用方法记录:
Map<String, Map<Integer, Stationinfrelatree>> qip = stationinfrelatreeService.list("QIP").stream().collect(Collectors.groupingBy(Stationinfrelatree::getStationCode, Collectors.toMap(Stationinfrelatree::getInfMark, v -> v)));
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
2021-07-21 SSM框架下,spring中service和dao层的作用与三者之间的关系
2021-07-21 ParameterType和resultType的区别