gpt4 book ai didi

java - ArrayList Java 的数组

转载 作者:行者123 更新时间:2023-12-03 22:54:03 25 4
gpt4 key购买 nike

我正在创建一个具有多个队列的 PriorityQueue。我正在使用一个数组来存储组成我的不同 PriorityQueues 的多个 ArrayList。到目前为止,这是我的构造函数:

ArrayList<ProcessRecord> pq;
ArrayList[] arrayQ;

MultiList(){
arrayQ = new ArrayList[9];
pq = new ArrayList<ProcessRecord>();
}

当我试图获取整个数组的大小时,即数组中每个 ArrayList 的大小之和,问题就来了。

public int getSize() {

int size = 0;

for (int i = 1; i <= 9; i++) {
size = size + this.arrayQ[i].size();
}
return size;
}

似乎不起作用。我是否正确声明了 ArrayList 的数组?我不断收到一条错误消息,指出 this.arrayQ[i].size() 不是一种方法。 ( .size() 是问题所在)

感谢您的帮助!

大卫

最佳答案

一些问题:

首先,Java 中的数组是零索引的,因此您的循环应为:

for (int i = 0; i < 9; i++)

或者,更好的是,用 arrayQ.length 替换神奇的数字 9,以便在长度发生变化时让您的生活更轻松。

其次,您没有用 ArrayList 填充数组——new ArrayList[9] 创建了一个包含九个类型为 ArrayList 的引用的数组,但所有这些引用都是无效的。在构造函数中创建数组后,您需要通过执行以下操作来实例化 ArrayLists 本身:

for (int i = 0; i < arrayQ.length; i++)
arrayQ[i] = new ArrayList<ProcessRecord>();

关于java - ArrayList Java 的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2589398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com