两种方式获取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);
        }
    }
相关推荐
名字还没想好☜11 小时前
Go 的 time.Ticker 陷阱:定时任务里被忽略的内存泄漏与正确关闭
java·数据库·golang·go·定时器
音符犹如代码11 小时前
后端视角看 EventBus:发布订阅总线的原理、场景与用法
java·spring boot·guava
前端炒粉11 小时前
手撕小汇总
java·前端·javascript
唐青枫12 小时前
Java Kafka 实战指南:从 Topic、分区到 Spring Boot 可靠消息处理
java
脱胎换骨-军哥12 小时前
C++零成本抽象理论深度拆解:现代C++如何在不牺牲性能的前提下提供高级语法封装
java·开发语言·c++
我是唐青枫13 小时前
Java Netty 实战指南:从 NIO 线程模型到 TCP 编解码和心跳机制
java·tcp/ip·nio
小白说大模型13 小时前
从向量嵌入到复杂 Agent:LLM、LangChain、LangGraph 完整科普
java·开发语言·人工智能·gpt·深度学习·langchain
风起洛阳@不良使14 小时前
springIOC创建对象的方式--spring容器中的注入
java·spring
zhanghaha131414 小时前
Python语言基础:4_数据类型转换
java·前端·python
Devin~Y15 小时前
互联网大厂Java面试实战:Spring Boot、MyBatis、Redis、Kafka、JWT、Spring Cloud 与 AI 场景追问
java·spring boot·redis·spring cloud·kafka·mybatis·spring security