s-day07- 获取Stream流的两种方式(重点)

This commit is contained in:
2026-08-08 15:29:51 +08:00
parent b7955a05e0
commit 4d03843e50
@@ -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<E> stream() 返回一个序列 Stream与此集合作为其来源。
2.Stream接口的of方法,将多个数据组成一个流
Stream接口
static <T> Stream<T> of(T... values) 返回其元素是指定值的顺序排序流。
*/
public class StreamDemo13 {
public static void main(String[] args) {
//单列集合
//list集合
ArrayList<String> list = new ArrayList<>();
list.add("张三1");
list.add("张三2");
list.add("张三3");
Stream<String> stream1 = list.stream();
System.out.println(stream1);
//set集合
HashSet<String> sets = new HashSet<>();
sets.add("张三1");
sets.add("张三2");
sets.add("张三3");
Stream<String> stream2 = sets.stream();
System.out.println(stream2);
//Map双列集合没有定义stream方法,只能通过转为单列集合间接获取流
//间接获取流:1.所有的键的集合keySet() 2.所有的值的集合values() 3.所有的键值对对象的集合entrySet()
HashMap<String, String> map = new HashMap<>();
map.put("刘备", "孙尚香");
//1.所有的键的集合keySet()
Set<String> keys = map.keySet();
Stream<String> stream3 = keys.stream();
//2.所有的值的集合values()
Collection<String> values = map.values();
Stream<String> stream4 = values.stream();
//3.所有的键值对对象的集合entrySet()
Set<Map.Entry<String, String>> entries = map.entrySet();
Stream<Map.Entry<String, String>> stream5 = entries.stream();
//数组获取流
String[] arr = {"张三1","张三2","张三3"};
Stream<String> stream6 = Stream.of(arr);
Stream<Integer> stream7 = Stream.of(1, 2, 3, 4, 5);
}
}