赞
踩
Stream流把真正的函数式编程风格引入到Java中,而且代码特别简介。
1、获取Stream流
2、中间方法
3、终结方法
Collection体系集合
使用默认方法stream()生成流, default Stream stream()
Map体系集合
把Map转成Set集合,间接的生成流
数组
通过Arrays中的静态方法stream生成流
同种数据类型的多个数据
通过Stream接口的静态方法of(T… values)生成流
常见方法
方法名 | 说明 |
---|---|
Stream filter(Predicate predicate) | 用于对流中的数据进行过滤 |
Stream limit(long maxSize) | 返回此流中的元素组成的流,截取前指定参数个数的数据 |
Stream skip(long n) | 跳过指定参数个数的数据,返回由该流的剩余元素组成的流 |
static Stream concat(Stream a, Stream b) | 合并a和b两个流为一个流 |
Stream distinct() | 返回由该流的不同元素(根据Object.equals(Object) )组成的流 |
常见方法
方法名 | 说明 |
---|---|
void forEach(Consumer action) | 对此流的每个元素执行操作 |
long count() | 返回此流中的元素数 |
常用方法
方法名 | 说明 |
---|---|
R collect(Collector collector) | 把结果收集到集合中 |
工具类Collectors提供了具体的收集方式 |
方法名 | 说明 |
---|---|
public static Collector toList() | 把元素收集到List集合中 |
public static Collector toSet() | 把元素收集到Set集合中 |
public static Collector toMap(Function keyMapper,Function valueMapper) | 把元素收集到Map集合中 |
现在ArrayList集合,存储6名演员名称,演员只要名字为3个字的前三人。
代码如下):
ArrayList<String> list = new ArrayList<String>();
list.add("周润发");
list.add("成龙");
list.add("刘德华");
list.add("吴京");
list.add("周星驰");
list.add("李连杰");
Stream<String> listStream= list.stream().filter(s -> s.length() == 3).limit(3);
例如:以上就是今天要讲的内容,本文仅仅简单介绍了stream的使用,而stream提供了大量能使我们快速便捷地处理数据的函数和方法。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。