Stream操作
2024-09-18 22:18:56
public static void main(String[] args) {
List<Parking> parkings = Arrays.asList(Parking.builder().build().setParkingName("白天车场").setNumber(111),
Parking.builder().build().setParkingName("夜晚车场").setNumber(222),
Parking.builder().build().setParkingName("夜晚车场").setNumber(222));
//1、forEach:forEach循环,获取每一个元素
parkings.stream().forEach(parking -> System.out.println("***" + parking.getParkingName()));
//2、map:映射,映射每个元素到对应的结果,生成新的集合
parkings.stream().map(Parking::getParkingName).collect(Collectors.toList()).forEach(System.out::println);
//3、filter:条件过滤,过滤掉条件中的集合
parkings.stream().filter(parking -> parking.getNumber() == 222).collect(Collectors.toList());
//4、count:获取集合数量
System.out.println(parkings.stream().filter(parking -> parking.getNumber() == 222).count());
//5、distinct:去重
parkings.stream().map(Parking::getNumber).distinct().collect(Collectors.toList()).forEach(System.out::println);
//6、limit:获取指定数量流
new Random().ints().limit(10).forEach(System.out::println);
//7、sorted:用于对流进行排序
new Random().ints().limit(10).sorted().forEach(System.out::println);
//8、parallelStream:并行流 stream:串行流
System.out.println(parkings.parallelStream().count());
/**
* 9、collect:对Stream进行处理,返回新的对象
* Collectors.toList():返回List集合
* Collectors.joining():字符串拼接
*/
System.out.println(parkings.stream().map(Parking::getParkingName).collect(Collectors.joining(",")));
/**
* 10:summaryStatistics:统计操作
* getMax:最大值
* getMin:最小值
* getSum:所有数之和
* getAverage:平均数
*/
List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
IntSummaryStatistics stats = numbers.stream().mapToInt((x) -> x).summaryStatistics();
System.out.println("列表中最大的数 : " + stats.getMax());
System.out.println("列表中最小的数 : " + stats.getMin());
System.out.println("所有数之和 : " + stats.getSum());
System.out.println("平均数 : " + stats.getAverage());
}
最新文章
- Linux混杂设备驱动学习
- shell中命令之间数据的传递
- 如何在Objective-C中实现链式语法
- mysql 1449 : The user specified as a definer ('root'@'%') does not exist ,mysql 赋给用户权限 grant all privileges on
- Class类工具 - ClassUtils.java
- Xtrabackup流备份与恢复
- [PeterDLax著泛函分析习题参考解答]第7章 Hilbert 空间结果的应用
- ubuntu下google 拼音输入法的安装
- unity多边形uv地图
- 关于集合set ---STL
- 关于boostrap的thead固定tbody滚动
- [转]js 正则表达式
- SQL求出优秀、及格人数
- MySQL 基础一 安装
- [转]slf4j 与log4j 日志管理
- laravel通过Eloquent ORM实现CURD
- 关于npm本地安装模块包(node_modules),安装不了的问题
- Mysql避免重复插入记录方法
- ng2-admin安装问题
- P2264 情书