图说jdk1.8新特性(4)— stream
- 2019 年 10 月 31 日
- 筆記
总述

- 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)