diff --git a/javaSE-day07/src/com/inmind/stream03/StreamDemo17.java b/javaSE-day07/src/com/inmind/stream03/StreamDemo17.java new file mode 100644 index 0000000..b603c09 --- /dev/null +++ b/javaSE-day07/src/com/inmind/stream03/StreamDemo17.java @@ -0,0 +1,57 @@ +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); + } +}