当前位置: 首页 > news >正文

Java后端开发day38--不可变集合Stream流

请添加图片描述
(以下内容全部来自上述课程)
在这里插入图片描述

1. 不可变集合

  • 含义:不能被修改的集合:长度和内容都不变

1.1 应用场景

  • 如果某个数据不能被修改,把它防御性地拷贝到不可变集合中是一个很好的实践。
  • 或者当集合对象被不可信的库调用时,不可变形式是安全的。
  • 简单理解:不想让别人修改集合中的内容。

1.2 创建格式

请添加图片描述
细节:

  1. Set集合:键不能重复
  2. Map集合:键不能重复
    Map里面的of方法,参数是有上限的,最多只能传递20个参数,10个键值对
    如果我们要传递多个键值对对象,数量大于10个,在Map接口中还有一个方法:ofEntries

2.Stream流

2.1 Stream流的思想

过滤操作–>过滤操作–>输出操作

2.2 作用

结合Lambda表达式,简化集合、数组的操作

2.3 使用步骤

2.3.1 流水线

先得到一条Stream流(流水线),并把数据放上去
请添加图片描述
Stream接口中静态方法of的细节:

  • 方法的形参是一个可变参数,可以传递一堆零散的数据,也可以传递数组
  • 但是数组必须是引用数据类型的,如果传递基本数据类型,是会把整个数组当作一个元素,放到Stream当中。

2.3.2 中间方法

使用中间方法对流水线上的数据进行操作
请添加图片描述
注意:

  1. 中间方法,返回新的Stream流,原来的Stream流只能使用一次,建议使用链式编程
  2. 修改Stream流中的数据,不会影响原来集合或数组中的数据

2.3.3 终结方法

使用终结方法对流水线上的数据进行操作
请添加图片描述
toArray:

  • 参数的作用:负责创建一个指定类型的数组
  • 方法底层:会依次得到流里面的每一个数据,并把数据放到数组当中
  • 返回值:是一个装着流里面所有数据的数组。
  • 语句示例:String[] arr = list.stream.toArray(value -> new String[value]);

2.3.4 collect–List Set Map

  • List:collect(Collectors.toList())
  • Set:collect(Collectors.toSet())
  • Map:collect(Collectors.toMap(键的规则,值的规则)) 键不能重复
    请添加图片描述

相关文章:

  • 2799. 统计完全子数组的数目
  • 硅基计划 学习总结 拾
  • 在 cmd shell 中执行 metasploit vbs payload
  • SpringBoot自动配置
  • 【UserDetailsService】
  • [Windows] MousePlus 5.5.9
  • 软考-软件设计师中级备考 4、数据结构
  • 关于 【Spring Boot Configuration Annotation Processor 未配置问题】 的详细分析、解决方案及代码示例
  • 【“星瑞” O6 评测】 — CPU llama.cpp不同优化速度对比
  • 数据结构算法竞赛训练网站OJ(Online Judge)
  • SDC命令详解:使用get_clocks命令进行查询
  • 【Java】 使用 HTTP 响应状态码定义web系统返回码
  • iView Table 组件跨页选择功能实现文档
  • vLLM技术解析:大语言模型推理服务的性能革新引擎
  • 算法相关概念
  • 【LLM开发】Unigram算法
  • 解密面试高频题:加权轮询负载均衡算法 (Java 实现)
  • 位运算题目:两数相除
  • 测试基础笔记第十五天
  • AI日报 - 2025年04月29日
  • 习近平对辽宁辽阳市白塔区一饭店火灾事故作出重要指示
  • 美乌总统梵蒂冈会谈,外交部:望有关各方继续通过对话谈判解决危机
  • 深一度|“凑合过”的利物浦,英超第二冠只求性价比
  • 网贷放款后自动扣除高额会员费,多家网贷平台被指变相收取“砍头息”
  • 文庙印象:一周城市生活
  • 咖啡与乳腺健康之间,究竟有着怎样的复杂关系?