Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。
forEach
Stream 提供了新的方法 ‘forEach’ 来迭代流中的每个数据。下面代码产生10个随机数并用forEach输出。
Random random = new Random();
random.ints(0, 100).limit(10).forEach(System.out::println); // 随机数的区间为[0,100]
map
map 方法用于映射每个元素到对应的结果,以下代码片段使用 map 输出了元素对应的平方数:
List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
numbers.stream().map(i -> i*i).distinct().collect(Collectors.toList()).forEach(System.out::println); // i 为列表中的每个元素。
filter
filter 方法用于通过设置的条件过滤出元素。以下代码片段使用 filter 方法过滤出空字符串:
List<String>strings = Arrays.asList("abc", "", "bc",</