Java8 Stream Lambda
来源:互联网 发布:java注解是什么 编辑:程序博客网 时间:2024/04/30 17:43
1、Stream的聚合操作
例子:对集合对象进行排序、取值操作(使用2种实现方式)
User liLei = new User(1, "liLei", 28, (short)0);User hanMeiMei = new User(2, "hanMeiMei", 25, (short)1);User zhou = new User(3, "zhou", 30, (short)1);User wu = new User(4, "wu", 32, (short)1);User zheng = new User(5, "zheng", 29, (short)0);List<User> users = new ArrayList<>();users.add(liLei);users.add(hanMeiMei);users.add(zhou);users.add(wu);// 按年龄从小到大输出年龄大于20的男性用户姓名// 实现方式一:List<User> userList = new ArrayList<>();for (User user: users) { if (user.getAge() > 20 && user.getSex() == 1) { userList.add(user); }}Collections.sort(userList, new Comparator<User>() { @Override public int compare(User o1, User o2) { return o1.getAge().compareTo(o2.getAge()); }});List<String> names = new ArrayList<>();for (User user: userList) { names.add(user.getName());}System.out.println(names);// 实现方式二:List<String> nameList = users.stream() .filter(user -> user.getAge() > 20 && user.getSex() == 1) .sorted(Comparator.comparing(User::getAge).reversed()) .map(User::getName) .collect(Collectors.toList());System.out.println(names);
结果输出:
[hanMeiMei, zhou, wu]
[hanMeiMei, zhou, wu]
第二种实现方式相比第一种实现方式,更方便高效。
Java8的Stream借助Lambda表达式提高了编程速度和程序易读性。 0 0
- java8 Lambda 与 Stream
- Java8 Lambda 表达式、Stream
- Java8 Stream Lambda
- Java8 的lambda 和 Stream
- Java8 之 lambda表达式 与 Stream
- java8 新特性入门 stream/lambda
- Java8之Stream/Map以及Lambda
- java8 lambda表达式之 Stream常用方法
- java8中 lambda语法和stream
- JAVA8之lambda表达式详解,及stream中的lambda使用
- JAVA8之lambda表达式详解,及stream中的lambda使用
- Java8 Lambda表达式与Stream API (一):Lambda表达式
- JAVA8之lambda表达式详解,及stream中的lambda使用
- JAVA8之lambda表达式详解,及stream中的lambda使用
- JAVA8的新特性学习笔记-(lambda、stream)
- java8新特性 lambda Stream map(函数式编程)
- java8 新特性 实战详解 stream lambda 以及函数
- java8初体验——optional、lambda、stream、map
- Electron 设置zoomFactor让布局在任何设备上效果相同
- 兼容问题
- hadoop环境搭建过程中遇到Unable to load native-hadoop library for your platform
- mysql优化(1)show命令慢查询日志explainprofiling
- 欢迎使用CSDN-markdown编辑器
- Java8 Stream Lambda
- 向maven仓库中导自己的jar包依赖
- Android NDK程序动态调试 初步尝试
- Java中的异常
- Thinkpad T460P I7 6820HQ版本运算以及显卡能力简单测试
- HTTPS工作原理和TCP握手机制
- GCD常用函数
- 背包问题详解
- xcode archive 一直是灰色的