进阶day07-获取Stream流的两种方式(重点)(单列集合&数组)

This commit is contained in:
2026-03-14 14:47:47 +08:00
parent e31a7271ff
commit a5a65edb80

View File

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