image.png
    image.png
    image.png

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