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方法
相关推荐
m0_7467523021 小时前
c++怎么利用std--variant处理多种二进制子协议包的自动分支解析【进阶】
jvm·数据库·python
卷到起飞的数分21 小时前
JVM探究
java·服务器·jvm
Geek攻城猫21 小时前
Java生产环境问题排查实战指南
java·jvm
私人珍藏库1 天前
[Windows] Mouser v3.5.3第三方罗技鼠标驱动
windows·计算机外设·工具·软件·win·多功能
亿电连接器替代品网1 天前
Bulgin连接器在自动化与能源系统中的应用及国产替代策略
大数据·网络·人工智能·经验分享·物联网·硬件工程·材料工程
m0_734949791 天前
MySQL如何配置定时清理过期备份文件_find命令与保留周期策略
jvm·数据库·python
t***5441 天前
Clang 编译器在 Orwell Dev-C++ 中的局限性
开发语言·c++
m0_514520571 天前
MySQL索引优化后性能没提升_通过EXPLAIN查看索引命中率
jvm·数据库·python
OtIo TALL1 天前
redis7 for windows的安装教程
java
2601_949817721 天前
Spring Boot3.3.X整合Mybatis-Plus
spring boot·后端·mybatis