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

Java8中Lambda表达式之Collection 的常见用法

背景

在java8中引入了Lambda表达式。其实,他就是一个匿名函数。我们经常会用到一些循环遍历,起始完全就可以通过Lambda来简化我们不必要的操作,下面我们来看一下Lambda常用的方法。

准备条件

@Data@Builderprivate static class Person {private Integer id;private String name;}

1、取List中某个值组成新的List或者Set

这个例子会用到我们Lambda中的map

语法:

List<Integer> result = list.stream().map(Persion::getId).collect(Collectors.toList());

Set<Integer> result = list.stream().map(Persion::getId).collect(Collectors.toSet());

2、取List中的两个值作为map(健不能重复且不能为null)

语法:

Map<Integer, String> stringMap = list.stream().collect(Collectors.toMap(Persion::getId, Persion::getName));

3、groupBy的操作

语法:

Map<String, List<Person>> stringListMap = list.stream().collect(Collectors.groupingBy(Person::getName));

4、取两个List集合的交集

语法:

List<Integer> intersect = listA .stream() .filter(a -> listB.stream().anyMatch(b -> Objects.equals(a, b))) .collect(Collectors.toList());

5、取两个List集合的差集

语法:

List<Integer> intersect1 = listA .stream() .filter(a -> listB.stream().noneMatch(b -> Objects.equals(a, b))) .collect(Collectors.toList());

好了,今天关于Java8中Lambda表达式之Collection 的常见用法就到这里。

欢迎大家点击下方卡片,关注《coder练习生》

http://www.lryc.cn/news/26488.html

相关文章:

  • SpringCloud系列知识快速复习 -- part 2(Sentinel微服务保护,Seata分布式事务,Redis分布式缓存和多级缓存)
  • 设置CentOS7的时间与网络同步
  • java开发手册之编程规约
  • Camera | 5.Linux v4l2架构(基于rk3568)
  • 机房PDU如何挑选?
  • lab备考第二步:HCIE-Cloud-Compute-第一题:FusionCompute
  • js-cookie和vue-cookies(Cookie使用教程)
  • 开创高质量发展新局面,优炫数据库助推数字中国建设
  • 【项目实战】为什么我选择使用CloseableHttpClient,而不是HttpClient,他们俩有什么区别?
  • Spark 内存运用
  • SpringBoot集成Swagger3.0(入门) 02
  • 网络协议丨ICMP协议
  • 12.1 基于Django的服务器信息查看应用(系统信息、用户信息)
  • ExSwin-Unet 论文研读
  • 置顶!!!主页禁言提示原因:在自己论坛发动态误带敏感词,在自己论坛禁止评论90天
  • 优思学院|解密六西格玛:探索DMAIC和DMADV之间的区别
  • Pytorch的DataLoader输入输出(以文本为例)
  • 代谢组学:Microbiome又一篇!绘制重症先天性心脏病新生儿肠道微生态全景图谱
  • Java基本类型所占字节简述
  • Linux vi常用操作
  • Unicode(宽字节)、ANSI(多字节)
  • STM32实战之LED循环点亮
  • 智慧厕所智能卫生间系统有哪些功能
  • 【网络】套接字 -- TCP
  • NDK C++ map容器
  • linux(Centos)安装docker
  • Delphi 中 FireDAC 数据库连接(处理错误)
  • 算法小抄3-理解使用Python容器之列表
  • Vue3中watch的value问题
  • 【线性筛+DP】最大和