快速创建只读集合
发布日期:2021-05-26 06:33:48 浏览次数:19 分类:精选文章

本文共 1177 字,大约阅读时间需要 3 分钟。

快速创建只读集合的不同实现方法

在Java开发中,如需操作只读集合,传统的做法与JDK9引入的新特性有所不同。以下将详细介绍两种方法,并介绍Java9的新功能。

1. JDK8之前的做法

在JDK8及之前版本中,创建只读集合通常采用Collections工具类。例如,使用Collections.unmodifiableList()将一个集合转换为只读集合。这种方法适用于List、Set以及Map等数据结构。

示例:只读列表的实现

@Testpublic void test1() {    List
namesList = new ArrayList<>(); namesList.add("Joe"); namesList.add("Bob"); namesList.add("Bill"); namesList = Collections.unmodifiableList(namesList); namesList.add("Tom"); // 运行时会报错,无法添加元素 System.out.println(namesList); // 输出包含原有元素}

2. JDK9的做法

在JDK9中,创建只读集合更加简便。List.of()Set.of()Map.of()方法可以直接创建不可变的集合实例。这种方式在代码简洁性上有显著提升,同时仍然保持集合的只读属性。

示例:使用JDK9新方法创建集合

@Testpublic void test4() {    List
list1 = List.of(1, 2, 3, 4, 5); // 不能添加元素,输出时将显示原始内容 Set
set1 = Set.of(23, 3, 54, 65, 43, 76, 87, 34, 46); // 不能添加元素 Map
map1 = Map.of("Tom", 23, "Jerry", 54, "HanMeimei", 12); // 不能添加键值对 Map
map2 = Map.ofEntries( Map.entry("Tom", 34), Map.entry("Jerry", 21) ); // 运行时仍然无法修改集合内容}

以上代码展示了JDK9中新方法的应用。 这些方法不仅代码简单,还维护了集合的只读性质,从而避免由于编笺错误导致的运行时异常。

总结

无论是传统的Collections方法还是JDK9的新工具,都能有效创建只读集合。新方法提供了更高效和简洁的编码体验,同时仍然满足只读的需求。

上一篇:javascript:判断输入值是数字还是字母
下一篇:String存储结构变更

发表评论

最新留言

感谢大佬
[***.8.128.20]2025年05月03日 16时44分40秒