Dav*_*obo 2 java arrays arraylist
我正在创建一个包含多个队列的PriorityQueue.我正在使用一个Array来存储构成我不同PriorityQueues的多个ArrayLists.这是我到目前为止构造函数的内容:
ArrayList<ProcessRecord> pq;
ArrayList[] arrayQ;
MultiList(){
arrayQ = new ArrayList[9];
pq = new ArrayList<ProcessRecord>();
}
Run Code Online (Sandbox Code Playgroud)
当我试图获得整个数组的大小时,就会出现问题,即数组中每个ArrayList数组的大小总和.
public int getSize() {
int size = 0;
for (int i = 1; i <= 9; i++) {
size = size + this.arrayQ[i].size();
}
return size;
}
Run Code Online (Sandbox Code Playgroud)
似乎不起作用.我ArrayList是否正确地声明了数组?我不断收到一个错误,说这this.arrayQ[i].size()不是一种方法.(.size()是问题)
谢谢你的帮助!
大卫
一些问题:
首先,Java中的数组是零索引的,因此您的循环应该是:
for (int i = 0; i < 9; i++)
Run Code Online (Sandbox Code Playgroud)
或者,更好的是,arrayQ.length如果长度发生变化,请更换幻数9,以使您的生活更轻松.
其次,您没有使用ArrayLists填充数组 - new ArrayList[9]创建一个包含九个类型引用的数组ArrayList,但所有这些引用都为null.在构造函数中创建数组之后,您需要通过执行以下操作来实例化ArrayLists:
for (int i = 0; i < arrayQ.length; i++)
arrayQ[i] = new ArrayList<ProcessRecord>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18931 次 |
| 最近记录: |