我有一个名为SparseMatrix的类.它包含节点的ArrayList(也是类).我想知道如何遍历数组并访问Node中的值.我尝试过以下方法:
//Assume that the member variables in SparseMatrix and Node are fully defined.
class SparseMatrix {
ArrayList filled_data_ = new ArrayList();
//Constructor, setter (both work)
// The problem is that I seem to not be allowed to use the operator[] on
// this type of array.
int get (int row, int column) {
for (int i = 0; i < filled_data_.size(); i++){
if (row * max_row + column == filled_data[i].getLocation()) {
return filled_data[i].getSize();
}
}
return defualt_value_;
}
}
Run Code Online (Sandbox Code Playgroud)
我可能会切换到静态数组(并在每次添加对象时重新创建它).如果有人有解决方案,我非常感谢您与我分享.另外,谢谢你提前帮助我.
如果您对此无法理解,请随时提出问题.
首先,您不应该使用原始类型。有关更多信息,请参阅此链接:什么是原始类型以及为什么我们不应该使用它?
解决方法是声明数组列表所保存的对象的类型。将声明更改为:
ArrayList<Node> filled_data_ = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)
filled_data_.get(i)然后,您可以使用(而不是filled_data_[i]适用于常规数组的 )访问数组列表中的每个元素。
`filled_data_.get(i)`
Run Code Online (Sandbox Code Playgroud)
上面将返回索引处的元素i。此处的文档: https: //docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#get(int)
| 归档时间: |
|
| 查看次数: |
16035 次 |
| 最近记录: |