两种方式获取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);
        }
    }
相关推荐
MY_TEUCK2 小时前
【Java 后端】SpringBoot 登录认证与会话跟踪实战(JWT + Filter/Interceptor)
java·开发语言·spring boot
今天长肉了吗3 小时前
银行风控项目踩坑实录:指标跑了6小时,风险评分全挂了
java
随读手机3 小时前
多式联运信息交互平台完整方案(2026版)
java·ai·eclipse·云计算·区块链
许彰午4 小时前
03-二叉树——从递归遍历到非递归实现
java·算法
nj01284 小时前
Spring 循环依赖详解:三级缓存、早期引用、AOP 代理与懒加载
java·spring·缓存
野生技术架构师4 小时前
2026年最全Java面试题及答案汇总(建议收藏,面试前看这篇就够了)
java·开发语言·面试
一只叫煤球的猫5 小时前
ThreadForge 源码解读一:ThreadScope 如何把并发任务放进清晰边界?
java·面试·开源
洛_尘5 小时前
Python 5:使用库
java·前端·python
程序员小假6 小时前
HTTP3 性能更好,为什么内网微服务依然多用 HTTP2?HTTP2 内网优势是什么?
java·后端
Mr数据杨6 小时前
【Codex】用教案主体模块沉淀标准化教学设计内容
java·开发语言·django·codex·项目开发