我知道可以使用以下语句将普通向量/列表中的某些元素填充为 0
:
double[][] list = new double[10][10]; // It will automatically inserts 0's in all positions.
List<Double> list1 = new ArrayList(new ArrayList(Collections.nCopies(10, 0d))); // Also
我想用一个二维列表来做同样的事情,这是可能的吗?
List<List<Double>> list2 = new ArrayList();
// It doesn't work -> List<List<Double>> list2 = new ArrayList(new ArrayList(Collections.nCopies(10, 0d)));
顺便说一下,我希望避免使用显式循环。
Collections.nCopies()
会返回一个包含n个索引的列表,其中只包含一个元素。由于Double
是不可变的,所以这样做是可以的,但是不要将其用于可变对象,比如列表。顺便说一下,内部数组列表是不需要的。即使外部列表只是一个副本,它也将包含10个对同一Double
实例的引用。 - Thomas