java中的stream基本使用

java中的stream基本使用

文章目录

    • java中的stream基本使用
  • 前言
  • 一、Stream流的三类方法
  • 二、生成Stream流的方式
  • 三、Stream流中间操作方法
  • 四、Stream流终结操作方法
  • 五、Stream流的收集操作
  • 六、体验一下
  • 总结


前言

Stream流把真正的函数式编程风格引入到Java中,而且代码特别简介。

一、Stream流的三类方法

1、获取Stream流
2、中间方法
3、终结方法

二、生成Stream流的方式

  • Collection体系集合

    使用默认方法stream()生成流, default Stream stream()

  • Map体系集合

    把Map转成Set集合,间接的生成流

  • 数组

    通过Arrays中的静态方法stream生成流

  • 同种数据类型的多个数据

    通过Stream接口的静态方法of(T… values)生成流

三、Stream流中间操作方法

常见方法

方法名 说明
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) )组成的流

四、Stream流终结操作方法

常见方法

方法名 说明
void forEach(Consumer action) 对此流的每个元素执行操作
long count() 返回此流中的元素数

五、Stream流的收集操作

常用方法

方法名 说明
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 list = new ArrayList();
        list.add("周润发");
        list.add("成龙");
        list.add("刘德华");
        list.add("吴京");
        list.add("周星驰");
        list.add("李连杰");
        Stream listStream= list.stream().filter(s -> s.length() == 3).limit(3);

总结

例如:以上就是今天要讲的内容,本文仅仅简单介绍了stream的使用,而stream提供了大量能使我们快速便捷地处理数据的函数和方法。

你可能感兴趣的:(java,servlet)