Stream基本操作
从JDK1.8开始,由于已经进入了大数据的时代,所以在类集里面也支持有数据的流式分析处理操作,为此也专门提供了一个Stream的就接口,同时在Collection接口里面也提供有此接口实例化的方法:
- 获取Stream的接口对象:default Stream<E> stream()
Stream的主要功能是进行数据的分析处理,同时主要是针对于集合中的数据j进行分析操作。
范例:Stream的基本操作形式
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
import java.util.stream.Stream;
public class StreamDemo {
public static void main(String[] args) {
List<String> all = new ArrayList<>();
//添加数据
Collections.addAll(all,"Java","JavaScript","Python","Ruby","Go");
Stream<String> stream = all.stream(); //返回Stream接口对象
//要求将每一个元素的字母变为小写字母,而后判断字母j是否存在
System.out.println(stream.filter((String ele) -> {
return ele.toLowerCase().contains("j");
}).count());
}
}
2
以上的程序只是实现了一些最基础的数据个数的统计,而更多情况下我们可能需要获取里面满足条件的数据内容,所以此时可以实现数据的采集操作。
范例:数据采集
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class StreamDemo {
public static void main(String[] args) {
List<String> all = new ArrayList<>();
//添加数据
Collections.addAll(all,"Java","JavaScript","Python","Ruby","Go");
Stream<String> stream = all.stream(); //返回Stream接口对象
//要求将每一个元素的字母变为小写字母,而后判断字母j是否存在
List<String> list = stream.filter((String ele) -> {
return ele.toLowerCase().contains("j");
}).collect(Collectors.toList()); //将满足条件的数据收集起来,将返回的结果转为List集合
System.out.println(list);
}
}
[Java, JavaScript]
在Stream数据流处理过程之中其实还允许进行数据的分页处理,提供有两个方法:
- 设置取出的最大数据量:Stream<T> limit(long maxSize);
- 跳过指定数据量:Stream<T> limit(long maxSize);
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class StreamDemo {
public static void main(String[] args) {
List<String> all = new ArrayList<>();
//添加数据
Collections.addAll(all,"Java","JavaScript","Python","Ruby","Go","JSP","Json");
Stream<String> stream = all.stream(); //返回Stream接口对象
//要求将每一个元素的字母变为小写字母,而后判断字母j是否存在
List<String> list = stream.filter((String ele) -> {
return ele.toLowerCase().contains("j");
//将满足条件的数据收集起来,将返回的结果转为List集合,skip(2)表示跳过两个,limit(2)表示取出两个
}).skip(2).limit(2).collect(Collectors.toList());
System.out.println(list);
}
}
[JSP, Json]
Stream主要是利用自身的特点实现数据的分析处理操作。