java 9新增的不可变集合详解

KLQ 2020-08-27 10:03:49 java常见问答 6005

对于java 9你了解吗?下面的文章内容要给大家介绍的就是java 9新增的不可变集合,一起来了解一下吧。

Java 9版本之前,如果你要创建一个包含6个元素的Set集合,程序要先创建Set集合,之后,调用6次add()方法向Set集合当中添加元素。

Java9对这个方面进行了简化,程序直接调用Set、List、Map的of()方法就能够创建包含N个元素的不可变集合,这样一行代码就能够创建包含N个元素的集合。

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

下面的程序示范了怎样创建不可变集合:

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集合存在着2种方法,使用of()方法的时候只要依次传入多个key-value对就可以了,还可以使用ofEntries()方法,这个方法能够接受多个Entry对象,所以的话,程序显式使用Map.entry()方法来创建Map.Entry对象。

对于java 9新增的不可变集合你有了大致的了解了吗?更多相关常见问题,可以继续关注奇Q工具网来进行了解和学习哦。

推荐阅读:

java 8 Stream操作Collection集合详解

java 8 Predicate操作Collection集合详解

java使用foreach循环遍历Collection集合详解