ArrayList Java数组

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()是问题)

谢谢你的帮助!

大卫

Eta*_*oin 7

一些问题:

首先,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)