-3
votes

Comment définir la capacité initiale d'une liste imbriquée?

J'essaie de définir la capacité initiale d'une arraylist imbriqué à une valeur (selon 10), mais lorsque j'ai essayé d'accéder à la liste interne pour ajouter un élément, il me donne ArrayoutofboundException < / code>. Veuillez suggérer une bonne solution !!!

ci-dessous est l'extrait de code xxx


4 commentaires

Fixer la capacité initiale ne changera rien. Vous ne pouvez pas accéder à un élément de la liste si l'index est invalide, quelle que soit la capacité. Si vous souhaitez accéder à l'élément à l'index 5, la taille de la liste doit être d'au moins 6


La capacité initiale n'est pas la taille réelle, juste une limite sur la quantité d'espace pour allouer.


@Jbnizet est là quelque chose de route ???


ArrayList > Seau = flux.Generate (ArrayList :: Nouveau) .Limit (Taille) .Collect (Collectors.Tocollection (ArrayList :: Nouveau));


3 Réponses :


0
votes
System.out.println(bucket.get(5).add(5));  
You need to understand this line of code, you are trying to access the 5th Element from the Array List "bucket", but have you added any elements in the bucket ArrayList (in you case the element being another Array List)Unless you add your elements, you cannot access them, as they do not exist, hence you see the ArrayOutOfBoundException while you are trying to access 5th element at bucket.get(5)you might want to go through the javadoc of ArrayList
https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html

1 commentaires

Y a-t-il un moyen d'utiliser que je peux initialiser la variable "seau" avec "N" ArrayListe vide, comme celui que j'ai essayé dans ce cas ....



0
votes

code: xxx

sortie: xxx


0 commentaires

0
votes

Démarrage de Java 8, vous pouvez générer une liste de listes vides à l'aide de flux.generate code>. xxx pré>

sortie h3>
[[], [], [], [], [], [5], [], [], [], []]


0 commentaires