【发布时间】:2016-02-26 17:11:17
【问题描述】:
我想创建一个在运行时填充的行数可变的矩阵。行数取决于数据,在程序启动之前是未知的。我尝试的是这样的:
ArrayList<HashMap<Integer, Double>> eMatrix = new ArrayList<HashMap<Integer, Double>>();
HashMap<Integer, Double> row = new HashMap<Integer, Double>();
while (i < foo.size() - 1) {
if (foo.get(i) == 0) {
row.put(0, foo.get(i));
}
if (foo.get(i) == 1) {
ro.put(1, foo.get(i));
}
if (foo.get(i) == 2) {
ro.put(2, foo.get(i));
}
if (!row.isEmpty()) {
eMatrix.add(row);
}
row.clear();
i++;
}
这个想法是因为 ArrayLists 和 HashMaps 可以具有可变大小来使用 HashMap 创建行,并将这些行添加到 ArrayList 中,从而形成一个矩阵。现在的问题是row.clear 也清除了eMatrix 中的条目。你有更好的想法吗?
【问题讨论】:
标签: java matrix multidimensional-array arraylist hashmap