如何直接将列表实例化为实际参数?

问题描述

我创建了一个列表列表,

List<List<Integer>> list = new ArrayList<List<Integer>>();
list.add({1});
list.add({1,1});

这不起作用。 有实例化它们然后添加它们的快捷方式吗?

谢谢。

解决方法

从Java 5开始,您can将列表内联初始化为:

List<Integer> list = Arrays.asList(1,2,3,4,5);

自Java 8起,您can使用Stream API的方式为:

List<Integer> list = Stream.of(1,5).collect(Collectors.toList());

从Java 9开始,您can将不可变列表创建为:

List<Integer> list = List.of(1,5);

最后,您还可以使用双括号初始化程序块,如下所示:

    List<Integer> list = new ArrayList<>() {
        {
            add(1);
            add(2);
            add(3);
            add(4);
            add(5);
        }
    };
,

您可以使用Java-9 List.of

有关List.of的更多信息,您可以从这里获取。

List<List<Integer>> list = List.of(List.of(1),List.of(1,1),3));
    System.out.println(list);