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 天前
不过是吃了几年互联网红利罢了,我高估了自己
java·后端·面试
NE_STOP1 天前
MyBatis-参数处理与查询结果映射
java
狂奔小菜鸡1 天前
Day40 | Java中的ReadWriteLock读写锁
java·后端·java ee
SimonKing1 天前
JetBrains 用户狂喜!这个 AI 插件让 IDE 原地进化成「智能编码助手」
java·后端·程序员
狂奔小菜鸡1 天前
Day39 | Java中更灵活的锁ReentrantLock
java·后端·java ee
NE_STOP2 天前
MyBatis-配置文件解读及MyBatis为何不用编写Mapper接口的实现类
java
后端AI实验室2 天前
用AI写代码,我差点把漏洞发上线:血泪总结的10个教训
java·ai
程序员清风2 天前
小红书二面:Spring Boot的单例模式是如何实现的?
java·后端·面试
belhomme2 天前
(面试题)Redis实现 IP 维度滑动窗口限流实践
java·面试