Java8 Lambda表达式:Collection操作实战
需积分: 1 26 浏览量
更新于2024-08-03
收藏 2KB TXT 举报
Java8引入了Lambda表达式,这是一种匿名函数的概念,极大地简化了代码编写,特别是在处理集合操作时。Lambda表达式常用于各种Collection(如List、Set)的处理,提供了更直观和简洁的编程方式。
1. 取List中特定值并转换类型:
Lambda表达式可以用来对List中的每个元素执行一个操作并收集结果。例如,如果你想获取Person对象列表中所有id,可以使用`List<Integer> result = list.stream().map(Person::getId).collect(Collectors.toList());`,这行代码表示将Person对象的id字段映射到一个新的Integer列表。
2. 创建Map(键值对):
对于需要根据某个字段生成键值对的情况,如`Map<Integer, String> stringMap = list.stream().collect(Collectors.toMap(Person::getId, Person::getName));`,这里使用了toMap方法,第一个参数是提供key,第二个参数是提供value,将Person对象的id和name分别作为键和值。
3. Grouping by:
Lambda表达式也支持根据某个字段进行分组,如`Map<String, List<Person>> stringListMap = list.stream().collect(Collectors.groupingBy(Person::getName));`,这将根据Person对象的名字进行分组,返回一个Map,其中键是名字,值是具有相同名字的所有Person对象列表。
4. 取两个List的交集与差集:
- 交集:`List<Integer> intersect = listA.stream().filter(a -> listB.stream().anyMatch(b -> Objects.equals(a, b))).collect(Collectors.toList());`,这段代码找出两个List中相同的元素,并存入新List。
- 差集:`List<Integer> intersect1 = listA.stream().filter(a -> !listB.stream().anyMatch(b -> Objects.equals(a, b))).collect(Collectors.toList());`,这行代码找出listA中不在listB中的元素。
Lambda表达式通过其简洁的语法和直观的逻辑,提高了Java在处理集合操作时的代码可读性和效率。熟练掌握这些用法,能让你在实际开发中更加高效地编写代码。
2019-01-22 上传
2020-08-26 上传
2020-09-01 上传
2020-08-29 上传
2021-01-20 上传
2021-11-09 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
ybb_ymm
- 粉丝: 1w+
- 资源: 136
最新资源
- 单片机串口通信仿真与代码实现详解
- LVGL GUI-Guider工具:设计并仿真LVGL界面
- Unity3D魔幻风格游戏UI界面与按钮图标素材详解
- MFC VC++实现串口温度数据显示源代码分析
- JEE培训项目:jee-todolist深度解析
- 74LS138译码器在单片机应用中的实现方法
- Android平台的动物象棋游戏应用开发
- C++系统测试项目:毕业设计与课程实践指南
- WZYAVPlayer:一个适用于iOS的视频播放控件
- ASP实现校园学生信息在线管理系统设计与实践
- 使用node-webkit和AngularJS打造跨平台桌面应用
- C#实现递归绘制圆形的探索
- C++语言项目开发:烟花效果动画实现
- 高效子网掩码计算器:网络工具中的必备应用
- 用Django构建个人博客网站的学习之旅
- SpringBoot微服务搭建与Spring Cloud实践