图说jdk1.8新特性(4)--- stream

总述

  • jdk1.8引入了Stream相关的API,通过该API。可以实现流式编程,使你写代码的时候行云流水
  • Stream使得集合的转换变得更加简单,原来可能需要写多个for循环或者多个if判断的,直接一个stream

操作就可以实现


细说

        List<Integer> arr = new ArrayList<>();
        arr.add(1);
        arr.add(2);
        arr.add(3);
        arr.add(4);
        arr.stream().map(i -> i*2).collect(Collectors.toList());
        System.out.println(arr);
        arr.stream().forEach(i -> {i = i*2;});
        System.out.println(arr);

---输出为:
[1, 2, 3, 4]
[1, 2, 3, 4]

说明:

  • Stream的用法遵循三个步骤: 创建---》转换---》聚合
  • Stream的API支持对列表的多种操作,可以实现list转map,map转list等各种操作
  • Stream操作不会修改原来集合类型的值

注意点:

  • 数组创建Stream应使用Arrays.stream(brr) , 列表创建Stream应使用list.stream()。如果直接调用Stream.of方法,实际上调用的是 public static<T> Stream<T> of(T t) 而不是 public static<T> Stream<T> of(T... values)

猜你喜欢

转载自www.cnblogs.com/Kidezyq/p/11763914.html