两种方式获取Stream流的方式

  • java.util.stream.Stream<T> 是Java 8 新加入的最常用的流接口。(这并不是一个函数式接口)

  • 获取一个流有以下两种方式

    |-------------------------------------------|-----------------------------------------------------------------------------------------------------|
    | * 所有的 Collection集合 都可以通过stream默认方法获取流 | * |
    | * Stream接口 的静态方法of可以获取数组对应的流 | * |

    java 复制代码
    package com.csdn.stream;
    import java.util.*;
    import java.util.stream.Stream;
    public class Demo02GetStream {
        public static void main(String[] args) {
            //把集合转换为Stream流
            List<String> list = new ArrayList<>();
            Stream<String> stream1 = list.stream();
    
            Set<String> set = new HashSet<>();
            Stream<String> stream2 = set.stream();
    
            Map<String, String> map = new HashMap<>();
            //获取键,存储到一个Set集合中
            Set<String> keySet = map.keySet();
            Stream<String> stream3 = keySet.stream();
    
            //获取值,存储到一个Collection集合中
            Collection<String> values = map.values();
            Stream<String> stream4 = values.stream();
    
            //获取键值对(键与值的映射关系 entrySet)
            Set<Map.Entry<String, String>> entries = map.entrySet();
            Stream<Map.Entry<String, String>> stream5 = entries.stream();
    
            //把数组转换为Stream流
            Stream<Integer> stream6 = Stream.of(1, 2, 3, 4, 5);
    
            //可变参数可以传递数组
            Integer[] arr = {1, 2, 3, 4, 5};
            Stream<Integer> stream7 = Stream.of(arr);
            String[] arr2 = {"a", "bb", "ccc"};
            Stream<String> stream8 = Stream.of(arr2);
        }
    }
相关推荐
zuoerjinshu7 分钟前
【SpringBoot】讲清楚日志文件&&lombok
java·spring boot·后端
生产队队长16 分钟前
SpringBoot3:ApplicationAvailability监控应用程序可用性状态[官方文档]
java·spring·mybatis
野犬寒鸦38 分钟前
从零起步学习计算机操作系统:进程篇(基础知识夯实)
java·服务器·后端·学习·面试
业精于勤_荒于稀38 分钟前
服务器配置
java·服务器·jvm
Barkamin1 小时前
堆排序简单实现
java·数据结构·算法·排序算法
小江的记录本1 小时前
【TCP】TCP三次握手与四次挥手(系统性知识体系+对比表格)
java·服务器·网络·网络协议·tcp/ip·http·tcp
闻哥1 小时前
MySQL索引核心原理:B+树生成、页分裂与页合并全解析
java·jvm·b树·mysql·adb·面试·springboot
蜡台1 小时前
Android Gradle 项目下载编译失败解决---持续更新
android·java·kotlin·gradle
迈巴赫车主1 小时前
天梯赛 L2-004 这是二叉搜索树吗?java
java·开发语言·数据结构·算法·天梯赛
JMchen1231 小时前
跨技术栈:在Flutter/Compose中应用自定义View思想
java·经验分享·flutter·canvas·dart·自定义view