Java 10引入了几种新方法来促进不可修改集合的创建。

List.copyOfSet.copyOfMap.copyOf方法从现有实例创建新的集合实例。 例如:

List<String> modifiable = Arrays.asList("foo", "bar");
List<String> unmodifiableCopy = List.copyOf(list);// Note that since Java 9, you can also use "of" to create
// unmodifiable collections
List<String> unmodifiable = List.of("foo", "bar");

还有新的收集器方法toUnmodifiableListtoUnmodifiableSettoUnmodifiableMap ,以允许将流的元素收集到不可修改的集合中。 例如:

// Java 10
Stream.of("foo", "bar").collect(toUnmodifiableList());// before Java 10
Stream.of("foo", "bar").collect(collectingAndThen(toList(), Collections::unmodifiableList));

翻译自: https://www.javacodegeeks.com/2018/06/stream-unmodifiable-collection.html

Java 10:将流收集到不可修改的集合中相关推荐

  1. java 读取集合到流中_Java 10:将流收集到不可修改的集合中

    java 读取集合到流中 Java 10引入了几种新方法来促进不可修改集合的创建. List.copyOf , Set.copyOf和Map.copyOf方法从现有实例创建新的集合实例. 例如: Li ...

  2. mongo 改字段名_一日一技:修改MongoDB集合中的字段名

    一日一技:修改MongoDB集合中的字段名 一日一技是一个每天更新的栏目,旨在使用3分钟的时间让你每天都有新的进步. 在我们使用MongoDB的过程中,经常会出现修改数据的情况.我们一般使用 upda ...

  3. 遍历Map集合、修改Map集合中的value值

    Map集合是基于java核心类--java.util中的: Map集合用于储存元素对,Map储存的是一对键值(key和value),是通过key映射到它的value values(): 是获取集合中的 ...

  4. java map key是否存在_java如何判断map集合中是否存在key?

    java如何判断map集合中是否存在key?,方法,遍历,不存在,键值,是一个 java如何判断map集合中是否存在key? 易采站长站,站长之家为您整理了java如何判断map集合中是否存在key? ...

  5. Java入门第107课——使用add方法向集合中添加元素

    问题 使用add方法向集合中添加元素,详细要求如下: 1)使用ArrayList构造集合对象c,并输出该对象. 2)将字符串"a"."b"."c&qu ...

  6. java list转成map对象_将List集合中的map对象转为List对象形式--封装类

    importjava.util.ArrayList;importjava.util.HashMap;importjava.util.Iterator;importjava.util.List;impo ...

  7. 笔记整理2----Java语言基础(二)06 断点调试与数据加密+07 面向对象-类与对象+08 java常用API-基础+09 java集合+10 IO流-基础

    06 断点调试与数据加密+07 面向对象-类与对象+08 java常用API-基础+09 java集合+10 IO流-基础 第06天 java基础语法 今日内容介绍  Eclipse断点调试  基 ...

  8. Java基础—IO流

    第一讲   IO概述 1. 流的概念 IO流即InputOutput的缩写,在Java中IO流用来处理设备之间的数据传输,Java对数据的操作是通过IO流的方式, 我们可以把IO流抽象的当作一根管道, ...

  9. java基础—IO流概述

    1 IO流--字符流 1.1引言 IO流用来处理设备之间的数据传输 java对数据的操作是通过流的方式 java 用于操作流的对象都在IO包中 流按操作数据分为两种,字节流与字符流, 流按流向分为:输 ...

最新文章

  1. poj 3740 Easy Finding
  2. 黑马程序员pink老师前端入门教程,零基础必看的h5(html5)+css3+移动端前端视频教程(权重,盒子模型)
  3. python web开发项目 源码_Python + Flask 项目开发实践系列七
  4. c语言编程输出数组元素之和,C语言 输出一个数组中,所有元素之和为0的子序列...
  5. 【MATLAB】卡尔曼滤波器的原理及仿真(初学者专用)
  6. windows下使用word2vec训练维基百科中文语料全攻略!(二)
  7. [转载] 羽毛球——学打羽毛球 05 正手发后场高远球练习方法
  8. requestLayout invalidate postInvalidate
  9. 小程序 调用地址api
  10. PCL计算点到直线距离
  11. cubase手机版android,Cubase中文应用
  12. Error:java.lang.RuntimeException: Some file crunching failed
  13. Https网站中请求Http内容
  14. Canal.deployer 启动报错说CHARACTER SET 'utf8' COLLATE 'utf8_unico', expect null,rkdown编辑器
  15. 因特尔Edison第2站--mraa下gpio
  16. CHARACTERISTIC DEFINITION
  17. 很多人说单片机很简单。但本专业学生都认为单片机是最难学的课程。为什么学起来都这么吃力呢?
  18. 什么是次世代游戏建模?角色和场景建模,哪个比较容易
  19. PCF8951(AD-DA)
  20. 单目深度估计数据集:NYU Depth Dataset V2

热门文章

  1. 操作系统复习笔记 04 Process 进程
  2. Sentinel(二十三)之使用Apollo存储规则
  3. Sentinel(三)之如何使用
  4. 面试进阶之字符串常量池
  5. java打开文件(Windows exe,应用文件exe,以及其他任何格式的文件)
  6. Oracle入门(十四.12)之游标FOR循环
  7. Spring Boot 2.0 正式发布
  8. mybatis简单案例源码详细【注释全面】——前期准备
  9. MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established
  10. mysql5.1升级5.5_mysql数据库迁移,由版本5.1升级至5.5.29,需要注意哪些