


package com.itheima.d2_stream;import java.util.*;import java.util.stream.Stream;public class StreamDemo2 { public static void main(String[] args) { /** ---------------Collection集合获取流-----------------*/ Collection<String> list = new ArrayList<>(); // 标准写法后面应该是用List接口来接收,但是这里为了便于理解 // 获取Stream流 Stream<String> s = list.stream(); // Stream流(流水线)存储是字符串类型 // Map集合获取流 (Map是一直键值对的形式) Map<String,Integer> maps = new HashMap<>(); // Map没有stream方法 只能用keySet获取键(返回一个集合),然后用该键的stream方法 // 或者用values方法,获取当前集合所有的值(返回一个集合),然后获取该值的value值 // 键流 Stream<String> keyStream = maps.keySet().stream(); // 值流 Stream<Integer> valueStream = maps.values().stream(); // 键值对流 (拿整体) maps.entrySet() 获取当前maps集合的所有键值对的集合(返回一个集合) Stream<Map.Entry<String, Integer>> keyAndValueStream = maps.entrySet().stream(); /* -----------------数组获取流----------------------- */ String[] names = {"赵敏","小昭","灭绝","周芷若"}; // 1. 可以直接用该数组的stream方法 Arrays.stream(数组名) Stream<String> nameStream = Arrays.stream(names); // 2 可以用Stream接口流的of方法 Stream<String> nameStream2 = Stream.of(names); }}