【发布时间】:2016-03-31 13:16:27
【问题描述】:
我知道我可以使用以下语句填充一些 zeros 的普通矢量/列表:
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
我想用 2D 列表但制作同样的东西,可以吗?
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 个索引中的 one 元素。由于Double是不可变的,这很好,但不要将其与可变对象(例如列表)一起使用。顺便说一句,不需要内部数组列表。甚至外部列表也只是一个副本,包含 10 个对 sameDouble实例的引用。 -
另外:
I want to avoid to use explicit loop- 为什么? -
@Thomas 因为循环太棒了 2015 年。
标签: java arraylist collections