Bonjour
de quelle façon on peut ajouter des éléments à un int
je pensais à passer par un ArrayList l
mais je n'arrive pas à ajouter tous les éléments du int [] dans l
etne marche pas non plusCode:int[] l2= (int[]) (l.toArray());
merci de l'aide
Version imprimable
Bonjour
de quelle façon on peut ajouter des éléments à un int
je pensais à passer par un ArrayList l
mais je n'arrive pas à ajouter tous les éléments du int [] dans l
etne marche pas non plusCode:int[] l2= (int[]) (l.toArray());
merci de l'aide
Un tableau a une taille fixe.
On peut remplacer ses éléments, mais pas en ajouter ni en enlever.
Plus ou moins.
Vector est obsolète.
List et Vector ne peuvent pas contenir de int, seulement des objets. Mais ils peuvent contenir Integer.
Il est donc possible de passer par un List<Integer>, à condition d'insérer les int un à un en temps qu'Integer, puis de retransformer le tout en int[] en transformant les Integer en int un par un.
S'il y a beaucoup de données, c'est assez mauvais pour les performances et la mémoire.
exemple :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 // tableau de départ int[] l2 = {1, 2, 3}; // transformer le tableau en liste List<Integer> list = new ArrayList<Integer>(); for(int i : l2) { list.add(i); } // utiliser la liste pour insérer des données list.add(unEntier); list.add(unAutreEntier); list.add(unEntierAuDebut, 0); // transformer la liste en tableau l2 = new int[list.size()]; for(int index=0; index < l2.length; index++) { l2[index] = list.get(index); }
j'ai vu qu'on pouvait faire
etCode:List<Integer> listOfInt = Arrays.asList(new Integer[]{1, 2});
mais ça m'arrange pas parceque impossible de caster des int en IntegerCode:Integer[] arrayOfInt = listOfInt.toArray(new Integer[]{});
si tu veux absolument passer de tableau à tableau, le plus rapide est de faire un nouveau tableau de taille +1, de copier dedans l'ancien tableau (y a ce qu'il faut dans la classe utilitaire Arrays), et d'ajouter le nouvel élément à la fin.
Mais comme déjà mentionné, il faut mieux utiliser des List que de jouer avec des tableaux que tu t'amuse à faire grandir.