两种获取Stream流的方式
package com.chunzhi.Test02Stream; import java.util.*; import java.util.stream.Stream; /* java.util.stream.Stream<T>是JDK 8新加入的最常用的流接口。(这并不是一个函数式接口) 获取一个流非常简单,有以下几种常用的方式: 所有的Collection集合都是可以通过stream默认方法获取流 default Stream<E> stream() Stream接口的静态方法of可以获取数组对应的流 static <T> Stream<T> of (T...values) 参数是一个可变参数,那么我们就可以传递一个数组 */ public class Test02GetStream { public static void main(String[] args) { /* 第一种获取流的方式 */ // 把集合转换为Stream流 List<String> list = new ArrayList<String>(); Stream<String> stream01 = list.stream(); Set<String> set = new HashSet<String>(); Stream<String> stream02 = set.stream(); Map<String, String> map = new HashMap<>(); // 获取键,储存到一个Set集合中 Set<String> keySet = map.keySet(); Stream<String> stream03 = keySet.stream(); // 获取值,储存到一个Collection集合中 Collection<String> values = map.values(); Stream<String> stream04 = values.stream(); // 获取键值对(键与值的映射关系 entrySet) Set<Map.Entry<String, String>> entries = map.entrySet(); Stream<Map.Entry<String, String>> stream05 = entries.stream(); /* 第二种获取流的方式 */ // 把数组转换为Stream流 Stream<Integer> stream06 = Stream.of(1, 2, 3, 4, 5); // 可变参数可以传递数组 Integer[] arr = {1, 2, 3, 4, 5}; Stream<Integer> stream07 = Stream.of(arr); String[] arr2 = {"a", "bb", "ccc"}; Stream<String> stream08 = Stream.of(arr2); } }