当前位置: 首页 > news >正文

lamda表达式例子全集详解

1、List 转 map

1.1、key(Model属性) value Model

Map<String, Model> modeMap = List<model>.stream().collect(Collectors.toMap(Model1::属性get方法, v -> v, (p1, p2) -> p1));

1.2、key(Model1属性) value new Model1

Map<String, Model1> model2Map = List<Model1>.stream().collect(Collectors.toMap(Model1::属性get方法, s -> new Model2(s.get属性1, s.get属性2), (v1, v2) -> v1));

1.3、groupBy-key(属性1) value:List(属性2)

Map<String, List<String>> map = List<Model>.stream().collect(groupingBy((Model1::属性1get方法,Collectors.mapping((model::属性2get方法, Collectors.toList())));

1.4、groupBy-key value:Set  空key初始化

Set dimValSet = res.computeIfAbsent(model.get属性一, k -> new HashSet<>());
dimValSet.add(xxxx);

1.5、groupBy-key(属性1) value:Set(方法生成)

Map<String, Set<String>> map = List<Model>.stream().collect(Collectors.toMap(Model1::get属性一, this::单独的方法, (v1, v2) -> v1));

2、list 转  list

2.1、list(model1)转list(model2) 

List<Model1> dimGroupAuthVos = List<Model1>.stream().map(e -> new Model2(model1.属性1(),model1.属性2(),model1.属性3())).collect(Collectors.toList());

2.2、list(model1)转list(属性) 并去重

List<Long> 属性数组 = List<Model1>.stream().map(user -> user.getId()).distinct().collect(Collectors.toList());

3、map 转 map

3.1、Map(key,model)转map(key,属性)

Map<String, String> dimEnameMap = map.entrySet().stream().collect(Collectors.toMap(Entry::getKey, entry -> entry.getValue().get属性(), (v1, v2) -> v1));


http://www.mrgr.cn/news/34864.html

相关文章:

  • 【含开题报告+文档+PPT+源码】基于SpringBoot+Vue的到家护理服务平台的设计与实现
  • Redis HyperLogLog
  • HarmonyOS Next 组件或页面之间的所有通信(传参)方法总结
  • 【go从零单排】通道select、通道timeout、Non-Blocking Channel Operations非阻塞通道操作
  • Spring框架之策略模式 (Strategy Pattern)
  • 将单色像素值转换成灰阶屏的灰度序列的算法
  • JAVA智能匹配真情传递红娘婚恋交友系统小程序源码
  • PyCharm远程连接AutoDL服务器实现程序调试
  • vue2实现提取字符串数字并修改数字样式(正则表达式)
  • 【linux内核】eBPF基础及应用调研
  • DeiT(ICML2021):Data-efficient image Transformer,基于新型蒸馏且数据高效的ViT!
  • 分布式锁实现与原理探究:介绍总结
  • jQuery——jQuery的基本使用
  • Vue ElemetUI table的行实现按住上下键高亮上下移动效果
  • 剑侠情缘c++源码全套(增加缺失的头文件和相关的库,其它网上流传的都是不全的)剑网三源码
  • springboot中药材进存销管理系统
  • 一例H-worm变种的分析
  • 拼团活动开发秘籍:PHP+Redis实现暂存成团信息,提升效率!
  • JDBC 与 Mybatis 对比
  • 软件架构设计原则
  • Java:列表操作
  • C++:类中的特殊内容
  • 基于BeagleBone Black的网页LED控制功能(Flask+gpiod)
  • Vue学习记录之八(局部组件,全局组件,递归组件,动态组件)
  • C++学习笔记----8、掌握类与对象(一)---- 对象中的动态内存分配(1)
  • Redis 的 Java 客户端有哪些?官方推荐哪个?