Je crée une PriorityQueue avec plusieurs files d'attente. J'utilise un tableau pour stocker les multiples ArrayLists qui composent mes différentes PriorityQueues. Voici ce que j'ai pour mon constructeur jusqu'à présent:Tableau de ArrayList Java
ArrayList<ProcessRecord> pq;
ArrayList[] arrayQ;
MultiList(){
arrayQ = new ArrayList[9];
pq = new ArrayList<ProcessRecord>();
}
Le problème vient quand je suis en train d'obtenir la taille de l'ensemble du réseau, qui est la somme des tailles de chaque ArrayList
dans le tableau.
public int getSize() {
int size = 0;
for (int i = 1; i <= 9; i++) {
size = size + this.arrayQ[i].size();
}
return size;
}
ne semble pas fonctionner. Est-ce que je déclare le tableau de ArrayList
correctement? Je continue d'obtenir une erreur en disant que this.arrayQ[i].size()
n'est pas une méthode. (le .size() étant le problème)
Merci pour toute aide!
David
Bien que je ne pense pas que ce soit la cause de votre problème, cette boucle va ignorer complètement le premier élément du tableau, et lancer une ArrayIndexOutOfBoundsException quand il arrivera à la fin. Les tableaux Java sont indexés à zéro, donc les index valides pour un tableau à 9 éléments sont compris entre 0 et 8. – Syntactic
Pourquoi n'utilisez-vous pas un seul tableau ou un tas pour l'implémentation de PriorityQueue? – helpermethod
J'ai utilisé les deux dans des affectations passées, celle-ci était supposée être plusieurs PriorityQueues et les renvoyer dans un style round-robin prioritaire pour chaque file d'attente. –