Java9新增的不可变集合

杰米粉2021-09-23 10:55

    Java9版本以前,假如要创建一个包含6个元素的Set集合,程序需要先创建Set集合,然后调用6次add()方法向Set集合中添加元素。Java9对此进行了简化,程序直接调用Set、List、Map的of()方法即可创建包含N个元素的不可变集合,这样一行代码就可创建包含N个元素的集合。

Java9新增的不可变集合

    不可变意味着程序不能向集合中添加元素,也不能从集合中删除元素。

    如下程序示范了如何创建不可变集合。

public class Java9Collection {
    public static void main(String[] args) {
        // 创建包含4个元素的Set集合
        Set set = Set.of("Java", "Kotlin", "Go", "Swift");
        System.out.println(set);
        // 不可变集合,下面代码导致运行时错误
        // set.add("Ruby");
        // 创建包含4个元素的List集合
        List list = List.of(34, -25, 67, 231);
        System.out.println(list);
        // 不可变集合,下面代码导致运行时错误
        // list.remove(1);
        // 创建包含3个key-value对的Map集合
        Map map = Map.of("语文", 89, "数学", 82, "英语", 92);
        System.out.println(map);
        // 不可变集合,下面代码导致运行时错误
        // map.remove("语文");
        // 使用Map.entry()方法显式构建key-value对
        Map map2 = Map.ofEntries(Map.entry("语文", 89), Map.entry("数学", 82), Map.entry("英语", 92));
        System.out.println(map2);
    }
}

    上面第4、9、14和19行代码示范了如何使用集合元素创建不可变集合,其中Set、List比较简单,程序只要为它们的of()方法传入N个集合元素即可创建Set、List集合。

    从上面代码可以看出,创建不可变的Map集合有两个方法。使用of()方法时只要依次传入多个key-value对即可;还可使用ofEntries()方法,该方法可接受多个Entry对象,因此程序显式使用Map.entry()方法来创建Map.Entry对象。

    以上就是小编为大家准备的“Java9新增的不可变集合”一文,更多相关内容尽在开课吧广场Java教程频道。

Java9新增的不可变集合

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用1
分享
全部评论快来秀出你的观点
登录 后可发表观点…
发表
暂无评论,快来抢沙发!
高并发编程训练营