Java Stream流的使用

获取Stream流
  • 单列集合直接使用stream()方法
java 复制代码
List<String> list = Arrays.asList("a", "b", "c"); Stream<String> stream = list.stream(); // 获取顺序流
  • 数组使用静态方法Arrays.stream()
java 复制代码
String[] array = {"a", "b", "c"}; // 获取整个数组的Stream 
Stream<String> arrayStream = Arrays.stream(array);
  • 零散数据使用Stream.of() ,需要保证它们的数据类型相同
java 复制代码
Stream<Integer> numberStream = Stream.of(1, 2, 3, 4, 5);
Stream<String> stringStream = Stream.of("one", "two", "three");
  • map获取stream流之前需要先进行转换
java 复制代码
Map<String, Integer> map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);

// 获取键的Stream
Stream<String> keyStream = map.keySet().stream();

// 获取值的Stream
Stream<Integer> valueStream = map.values().stream();

// 获取键值对的Stream
Stream<Map.Entry<String, Integer>> entryStream = map.entrySet().stream();
中间方法
  • 对于distinct方法,如果是自定义对象,记得重写equalshashCode方法
相关推荐
掘金者阿豪17 小时前
🚀 CentOS Stream 9服务器Docker部署KWDB:从零到跨模查询实战全记录
后端
yang_xin_yu17 小时前
一文带你精通泛型PECS原则与四大核心函数式接口
后端
孟陬18 小时前
国外技术周刊 #1:Paul Graham 重新分享最受欢迎的文章《创作者的品味》、本周被划线最多 YouTube《如何在 19 分钟内学会 AI》、为何我不
java·前端·后端
树獭叔叔18 小时前
13-KV Cache与位置编码表:大模型推理加速的核心技术
后端·aigc·openai
想用offer打牌18 小时前
一站式了解四种限流算法
java·后端·go
嘻哈baby18 小时前
用 C++ 写线程池是怎样一种体验?
后端
嘻哈baby18 小时前
SQL Server 和 Oracle 以及 MySQL 有哪些区别?
后端
绝无仅有18 小时前
Redis过期删除与内存淘汰策略详解
后端·面试·架构
武子康18 小时前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
绝无仅有18 小时前
Redis大Key问题排查与解决方案全解析
后端·面试·架构