简介:
从JDK1.8大数据时代开始,类集中也有支持数据流式分析处理操作,有一个专门的Stream接口,同时在Collection接口中提供有实例化Stream接口的方法:
public default Stream<E> stream() {
return StreamSupport.stream(spliterator(), false);
}
Stream主要功能是进行数据的分析操作,同时也是针对于集合的数据分析操作:
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.stream.Stream;
public class MAIN {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
Collections.addAll(list, "java","javaScript","Html","Python","C++"); // 添加元素
Stream<String> stream = list.stream(); // 获得Stream的接口对象
// System.out.println(stream.count()); // 输出元素的个数
// 要求将每一个元素的字母变为小写字母,然后判断包含字母j的元素有几个
System.out.println(stream.filter((ele)-> ele.toLowerCase().contains("j")).count());
}
}
输出结果:
数据采集:
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class MAIN {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
Collections.addAll(list, "java","javaScript","Html","Python","C++"); // 添加元素
// 将满足条件的元素汇集转为List集合
List<String> cll = stream.filter((ele)-> ele.toLowerCase().contains("j")).collect(Collectors.toList());
System.out.println(cll);
}
}
输出结果:
在Stream数据流进行数据的处理过程中还允许分页处理:
- 设置取出的最大的数据量:public Stream<T> limit(long maxSize);
- 跳过指定数据量:public Stream<T> skip(long n);
代码实现:
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class MAIN {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
Collections.addAll(list, "java","javaScript","Js","Jsp","JJ","Html","Python","C++","R","GO","PHP","Css","C","C#","SQL","MySQL","Orecle"); // 添加元素
List<String> collect = stream.filter((ele)-> ele.toLowerCase().contains("j")).skip(2).limit(3).collect(Collectors.toList());
System.out.println(collect);
}
}
输出结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)