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方法
相关推荐
提笔惊蚂蚁2 分钟前
终端VS命令解释器(Linux & Windows)
linux·运维·windows
luofeiju18 分钟前
交叉编译笔记
开发语言
StudyWinter1 小时前
【C++】仿函数和回调函数
开发语言·c++·回调函数·仿函数
你的人类朋友1 小时前
git常见操作整理(持续更新)
前端·git·后端
你的人类朋友1 小时前
git中的Fast-Forward是什么?
前端·git·后端
C4程序员1 小时前
北京JAVA基础面试30天打卡14
java·开发语言·面试
黑客影儿2 小时前
Go特有的安全漏洞及渗透测试利用方法(通俗易懂)
开发语言·后端·安全·web安全·网络安全·golang·系统安全
LGL6030A2 小时前
Java学习历程14——制作一款五子棋游戏(4)
java
你好,我叫C小白2 小时前
C语言 常量,数据类型
c语言·开发语言·数据类型·常量
昏睡红猹2 小时前
从0.99到1实现一个Windows上的虚拟hid键盘设备
windows·windows driver