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方法
相关推荐
初圣魔门首席弟子5 分钟前
c++嵌套类和局部类详细介绍
java·开发语言·c++
武子康6 分钟前
大数据-113 Flink 源算子详解:非并行源(Non-Parallel Source)的原理与应用场景
大数据·后端·flink
nice_lcj5207 分钟前
Java 集合框架之 List 全面解析(从概念到实践)
java·windows·list
橘子师兄7 分钟前
类和对象(上)
开发语言·c++
QZQ5418810 分钟前
高性能现代CPP--表达式模板(expression templates)
后端
大飞pkz29 分钟前
【设计模式】备忘录模式
开发语言·设计模式·c#·备忘录模式
高山上有一只小老虎1 小时前
输出单向链表中倒数第k个结点
java·数据结构·链表
莹Innsane1 小时前
使用 VictoriaLogs 存储和查询服务器日志
后端
karry_k1 小时前
BlockingQueue与SynchronousQueue
后端
前端伪大叔1 小时前
第15篇:Freqtrade策略不跑、跑错、跑飞?那可能是这几个参数没配好
前端·javascript·后端