j'ai creusé autour du même problème mais je n'ai pas pu trouver le même que celui que j'avais
je veux créer un tableau sans déclarer la taille car je ne sais pas comment ce sera!
pour effacer le problème, je voudrais vous donner le code que je recherche
public class t
{
private int x[];
private int counter=0;
public void add(int num)
{
this.x[this.counter] = num;
this.counter++;
}
}
comme vous le voyez, l'utilisateur peut utiliser la fonction add
pour ajouter un élément au tableau 10000 fois ou une seule fois, donc sa taille est inconnue
L'utilisation de Java.util.ArrayList ou LinkedList est la manière habituelle de procéder. Avec des tableaux, ce n'est pas possible comme je le sais.
Exemple:
List<Float> unindexedVectors = new ArrayList<Float>();
unindexedVectors.add(2.22f);
unindexedVectors.get(2);
Vous cherchez peut-être un List
? Soit LinkedList
ou ArrayList
sont de bonnes classes à examiner. Vous pouvez ensuite appeler toArray()
pour obtenir la liste sous forme de tableau.
Comme d'autres l'ont dit, utilisez ArrayList
. Voici comment:
public class t
{
private List<Integer> x = new ArrayList<Integer>();
public void add(int num)
{
this.x.add(num);
}
}
Comme vous pouvez le voir, votre méthode add
appelle simplement la méthode add de ArrayList
. Ceci n'est utile que si votre variable est privée (ce qu'elle est).
Une fois que la taille du tableau est fixée lors de l'exécution du programme, sa taille ne peut plus être modifiée. Il vaut donc mieux opter pour ArrayList tout en traitant des tableaux dynamiques.
Que dis-tu de ça
private Object element[] = new Object[] {};