Java8 lambda表达式常用方法
来源:互联网 发布:知乎周刊下载 编辑:程序博客网 时间:2024/05/29 18:25
这里记录的是平时经常遇到的用到lambda表达式的场景。
闲话不多说,直接上代码。
先定义一个用户类。
class User { Integer id; String name; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; }}
- 场景:有个User的List,需要将所有的用户ID取出来。
List<Integer> userIds = users.stream().map(u -> u.getId()).collect(Collectors.toList());
- 场景:有个User的List,需要将所有的用户ID取出来,还得注意去重
List<Integer> userIds = users.stream().map(u -> u.getId()).distinct().collect(Collectors.toList());
- 场景:有个User的List,需要将其放到HashMap里,key为用户ID,value为该User
Map<Integer, User> userMap = users.stream().collect(Collectors.toMap(User :: getId, u -> u));
- 场景:有个User的List,需要将其放到HashMap里,key为用户ID,value为用户名称
Map<Integer, String> userMap = users.stream().collect(Collectors.toMap(User :: getId, u -> u.getName()));
- 场景:有个User的List,需要将其放到HashMap里,key为用户ID,value为该User。User可能会重复,也就是ID会重复。按照上面的做法会导致如下错误:
Exception in thread "main" java.lang.IllegalStateException: Duplicate key 123456
/** * 需要指定在key重复时选择保留旧值还是新值 */Map<Integer, User> userMap = users.stream().collect(Collectors.toMap(User :: getId, u -> u, (oldV, newV) -> newV));
- 场景:有个User的List,需要按照id的大小进行排序
List<User> users = new ArrayList<User>();users.sort((u1, u2) -> u1.getId().compareTo(u2.getId()));
后续遇到了其他场景再继续添加… …
阅读全文
0 0
- Java8 lambda表达式常用方法
- java8 lambda表达式之 Stream常用方法
- java8的lambda表达式以及方法引用
- java8 lambda表达式和接口默认方法
- Java8 Lambda表达式教程
- Java8 Lambda表达式教程
- Java8: Lambda表达式语法
- java8 Lambda表达式
- Java8 Lambda表达式教程
- Java8 Lambda表达式
- java8 Lambda表达式
- Java8 Lambda表达式教程
- Java8 Lambda表达式教程
- Java8 Lambda表达式教程
- java8 lambda表达式-语法
- java8 lambda表达式-其他
- java8 lambda表达式
- Java8 Lambda表达式入门
- EventBus知识收集
- Accelerated C++ 7 generate sentence
- allegro学习之如何给过大电流的元件开窗散热
- __cdecl与__stdcall用途
- 远程登录管理工具SecureCRT连接VMWare下的ubantu
- Java8 lambda表达式常用方法
- Office超链接跳出错误信息由于本机的限制打不开的解决办法
- 将CentOSyum源改为国内的阿里云源
- 我在测试移动弱网时踩过的坑
- mysql 插入更新一条sql 搞定
- phalcon curd(一)
- HDU
- 如何使用Linux SSH安全策略限制IP登录
- Test_Java_File类递归练习(拷贝文件)