【问题标题】:How can I instantiate a list directly as an actual parameter? [duplicate]如何将列表直接实例化为实际参数? [复制]
【发布时间】:2020-12-27 05:33:48
【问题描述】:

我创建了一个列表列表,

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

这不起作用。 是否有任何快捷方式实例化它们然后添加它们?

谢谢。

【问题讨论】:

标签: java arrays list integer shortcut


【解决方案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,2,3,4,5).collect(Collectors.toList());

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

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

最后,你也可以使用双大括号初始化块,如:

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

【讨论】:

    【解决方案2】:

    您可以使用 Java-9 List.of

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-10
      • 2021-01-19
      • 2021-11-13
      • 2011-05-16
      • 2023-03-25
      • 2012-09-25
      相关资源
      最近更新 更多