diff --git a/s-day07/src/com/inmind/stream07/StreamDemo13.java b/s-day07/src/com/inmind/stream07/StreamDemo13.java new file mode 100644 index 0000000..6bc08d4 --- /dev/null +++ b/s-day07/src/com/inmind/stream07/StreamDemo13.java @@ -0,0 +1,54 @@ +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); + + } +}