我来自C ++,想知道Java在C ++ 11中是否有类似initialize_list
的东西,可以用来初始化几乎所有容器。
我已经做了一些搜索:
List.of()
中的Arrays.asList()
,但是它们创建了immutable
集合,如果您想要可变的集合,则必须执行类似的操作 List<Integer> list = new ArrayList<>(List.of(1,2,3))
这将产生复制成本。(不确定编译器是否可以对此进行优化,但我想没有)
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
Stream
看起来还不错,但有点冗长,我不确定它的效率... 那么有什么既优雅又有效的方法来做到这一点?也许以这种方式比较Java和C ++是不合适的。...但是我很好奇。