在Java中,是否有一种一行代码的方法来创建一个集合,并使用一个对象的n个克隆进行初始化?
我想要的等价物是:
foo = vector<vector<int> >(10);
C++,创建10个不同的空向量[ [] for i in range(10) ]
Python,包含10个不同的空数组的数组Array.new(10) { [] }
Ruby,与Python相同
在Java中,我只发现了
new ArrayList<ArrayList<Integer> >(Collections.nCopies(10, new ArrayList<Integer>()))
然而,这与其他示例不同,因为列表是别名。
有没有一种方法可以创建一个不使用for循环的独特对象克隆数组,并且最好不要使用外部库?
Stream.generate(() -> new MyObject(someFinalVar)).limit(n).collect(Collectors.toList())
- Matthew Read