java优雅高效的初始化List的方法

时间:2019-11-15 08:44:56

标签: java

我来自C ++,想知道Java在C ++ 11中是否有类似initialize_list的东西,可以用来初始化几乎所有容器。

我已经做了一些搜索:

  1. 某些方法看起来不错,例如List.of()中的Arrays.asList(),但是它们创建了immutable集合,如果您想要可变的集合,则必须执行类似的操作

List<Integer> list = new ArrayList<>(List.of(1,2,3))

这将产生复制成本。(不确定编译器是否可以对此进行优化,但我想没有)

  1. 如果我想高效地做到这一点,也许我只能以最简单的方式做到这一点?
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
  1. Stream看起来还不错,但有点冗长,我不确定它的效率...

那么有什么既优雅又有效的方法来做到这一点?也许以这种方式比较Java和C ++是不合适的。...但是我很好奇。

0 个答案:

没有答案