不可变集合

构建不可变集合的几种方式

JDK8
  • 在JDK8中,需要引入第三方工具包

    <dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>22.0</version>
    </dependency>
  • 利用guava创建不可变集合

ImmutableList<Integer> list = ImmutableList.of(1, 2, 3, 4);
ImmutableMap<Object, Object> map = ImmutableMap.of();
ImmutableSet<Object> set = ImmutableSet.of();
  • 这三者都是不可变集合,都具备copyOf方法。
创建一个不可变集合,将其转为可变集合
ImmutableList<Integer> of = ImmutableList.of(1, 2, 3, 4);
ArrayList<Integer> integers1 = new ArrayList<>(of);
integers1.add(6);
System.out.println(integers1);
将可变集合转为不可变集合
List<Integer> unmodifiableList = Collections.unmodifiableList(integers1);
unmodifiableList.add(66);
System.out.println(unmodifiableList);

 

JDK9以上版本
List<Integer> list = List.of(1,2,3);

 

JDK10以上版本
List<Integer> integerList = List.copyOf(list);
posted @   unknown-n2  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示

目录导航