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 分钟前
elasticSearch 增删改查 java api
java·大数据·elasticsearch
hweiyu004 分钟前
Scala实用编程(附电子书资料)
开发语言·后端·scala
mftang7 分钟前
C 标准库 <time.h> 函数详解
c语言·开发语言
lly2024068 分钟前
SVG 在线编辑器
开发语言
桦说编程28 分钟前
交替打印最容易理解的实现——同步队列
java·后端·设计模式
脑袋大大的36 分钟前
uni-app x开发避坑指南:拯救被卡顿的UI线程!
开发语言·前端·javascript·vue.js·ui·uni-app·uts
测试199838 分钟前
Newman+Jenkins实施接口自动化测试
自动化测试·软件测试·python·测试工具·职场和发展·jenkins·测试用例
土族程序员1 小时前
JavaFX CSS @font-face 错误全面分析 loadStylesheetUnPrivileged / reportException
java·css·javafx
feuiw1 小时前
django-3模型操作
python·django
计算机毕设定制辅导-无忧学长1 小时前
InfluxDB 与 Python 框架结合:Django 应用案例(一)
python·django·sqlite