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));
相关推荐
m0_5719575831 分钟前
Java | Leetcode Java题解之第543题二叉树的直径
java·leetcode·题解
魔道不误砍柴功3 小时前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
NiNg_1_2343 小时前
SpringBoot整合SpringSecurity实现密码加密解密、登录认证退出功能
java·spring boot·后端
闲晨3 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
测开小菜鸟4 小时前
使用python向钉钉群聊发送消息
java·python·钉钉
P.H. Infinity5 小时前
【RabbitMQ】04-发送者可靠性
java·rabbitmq·java-rabbitmq
生命几十年3万天5 小时前
java的threadlocal为何内存泄漏
java
caridle5 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
^velpro^5 小时前
数据库连接池的创建
java·开发语言·数据库
苹果醋36 小时前
Java8->Java19的初步探索
java·运维·spring boot·mysql·nginx