package com.inmind.stream03; import java.util.*; import java.util.stream.Stream; /* 学习内容:获取Stream流的两种方式(重点) Stream流的获取方式: 1.单列集合Collection的stream方法,得到单列集合的stream流 Collection接口 default Stream stream() 返回一个序列 Stream与此集合作为其来源。 2.Stream接口的of方法,将多个数据组成一个流 Stream接口 static Stream of(T... values) 返回其元素是指定值的顺序排序流。 */ public class StreamDemo17 { public static void main(String[] args) { //1.单列集合获取流 //list集合:ArrayList LinkedList List lists = new ArrayList<>(); lists.add("张无忌"); lists.add("周芷若"); lists.add("赵敏"); lists.add("张三丰"); Stream stream = lists.stream();//多态 System.out.println(stream); //set集合:HashSet LinkedHashSet TreeSet Set sets = new HashSet<>(); sets.add("张无忌"); sets.add("周芷若"); sets.add("赵敏"); sets.add("张三丰"); Stream stream1 = sets.stream(); System.out.println(stream1); //2.双列集合获取流 //Map双列集合没有定义stream方法,只能通过转为单列集合间接获取流 //间接获取流:1.所有的键的集合keySet() 2.所有的值的集合values() 3.所有的键值对对象的集合 //2.1 所有的键的集合keySet() HashMap map = new HashMap<>(); map.put("刘备", "孙尚香"); map.put("吕布", "貂蝉"); Set set = map.keySet(); Stream stream2 = set.stream(); //2.2 所有的值的集合values() Collection values = map.values(); Stream stream3 = values.stream(); //2.3 所有的键值对对象的集合 Set> entries = map.entrySet(); Stream> stream4 = entries.stream(); //3.Stream接口的of方法 Stream stream5 = Stream.of(1, 2, 3, 4); } }