Stream流式处理

Stream流式处理:

建立在Lambda表达式基础上的多数据处理技术。

可以对集合进行迭代、去重、筛选、排序、聚合等处理,极大的简化了代码量。

Stream常用方法

Stream流对象的五种创建方式

java 复制代码
//基于数组
String[] arr = {"a","b","c"};
Stream<String> stream = Stream.of(arr);
stream.forEach(s->System.out.println(s));
//基于集合
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
Stream<String> stream = list.stream();//list中的stream()方法
stream.forEach(s->System.out.println(s));
//利用generate方法创建无限长度流
Stream<Integer> stream = Stream.generate(()->new Random().nextInt(100000));
stream.forEach(i->System.out.println(i));
stream.limit(10).forEach(i->System.out.println(i));//限制长度为10
//基于迭代器创建流
Stream<Integer> stream = Stream.iterate(1,n->n+1);//数据起始值,步长(生成无限长)
//基于字符序列创建流
String str = "abcdefg";
IntStream stream = str.chars();
stream.forEach(c->System.out.println((char)c));
相关推荐
程序员徐师兄1 小时前
Windows JDK11 下载安装教程,适合新手
java·windows·jdk11 下载安装·jdk11 下载教程
RANCE_atttackkk1 小时前
[Java]实现使用邮箱找回密码的功能
java·开发语言·前端·spring boot·intellij-idea·idea
五岳2 小时前
DTS按业务场景批量迁移阿里云MySQL表实战(下):迁移管理平台设计与实现
java·应用·dts
zhougl9962 小时前
Java 所有关键字及规范分类
java·开发语言
Python 老手2 小时前
Python while 循环 极简核心讲解
java·python·算法
java1234_小锋2 小时前
Java高频面试题:MyISAM索引与InnoDB索引的区别?
java·开发语言
Mr_Xuhhh3 小时前
MySQL函数详解:日期、字符串、数学及其他常用函数
java·数据库·sql
测试开发Kevin4 小时前
小tip:换行符CRLF 和 LF 的区别以及二者在实际项目中的影响
java·开发语言·python
笨手笨脚の4 小时前
Redis: Thread limit exceeded replacing blocked worker
java·redis·forkjoin·thread limit
Lenyiin4 小时前
Linux 基础IO
java·linux·服务器