package com.inmind.stream07; 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 StreamDemo13 { public static void main(String[] args) { //单列集合 //list集合 ArrayList list = new ArrayList<>(); list.add("张三1"); list.add("张三2"); list.add("张三3"); Stream stream1 = list.stream(); System.out.println(stream1); //set集合 HashSet sets = new HashSet<>(); sets.add("张三1"); sets.add("张三2"); sets.add("张三3"); Stream stream2 = sets.stream(); System.out.println(stream2); //Map双列集合没有定义stream方法,只能通过转为单列集合间接获取流 //间接获取流:1.所有的键的集合keySet() 2.所有的值的集合values() 3.所有的键值对对象的集合entrySet() HashMap map = new HashMap<>(); map.put("刘备", "孙尚香"); //1.所有的键的集合keySet() Set keys = map.keySet(); Stream stream3 = keys.stream(); //2.所有的值的集合values() Collection values = map.values(); Stream stream4 = values.stream(); //3.所有的键值对对象的集合entrySet() Set> entries = map.entrySet(); Stream> stream5 = entries.stream(); //数组获取流 String[] arr = {"张三1","张三2","张三3"}; Stream stream6 = Stream.of(arr); Stream stream7 = Stream.of(1, 2, 3, 4, 5); } }