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方法
相关推荐
真恋寄语枫秋几秒前
【Java零基础入门20】Java Stream流超全详解:中间操作、终结操作、集合数据处理
java
我还记得那天1 分钟前
用C语言实现一个简易扫雷小游戏
c语言·开发语言
段ヤシ.2 分钟前
回顾Java知识点,面试题汇总Day10(持续更新)
java·开发语言·spring
小明同学012 分钟前
C++后端项目:统一大模型接入 SDK(二)
开发语言·c++
Dicky-_-zhang3 分钟前
Elasticsearch聚合查询优化实战
java·jvm
And_Ii6 分钟前
leetCode 146. LRU 缓存
python·链表
淼淼爱喝水7 分钟前
【Ansible 入门实战】三种变量详解
java·linux·数据库·ansible·playbook
我不是懒洋洋7 分钟前
【C++】类和对象( 类的定义、实例化、 this指针、 C++和C语言实现Stack对比)
c语言·开发语言·数据结构·c++·经验分享·算法·visual studio
Perry 1238 分钟前
Java中的多态
java·开发语言
asdfg125896314 分钟前
一文理解软件开发中的“设计模式”
java·设计模式·软件开发