web-dev-qa-db-fra.com

créer un tableau sans déclarer la taille - java

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

13
Hamoudaq

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);
13
Martin Erhardt

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.

10
Kevin Mangold

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).

3
Hassan

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.

3
GONE

Que dis-tu de ça

    private Object element[] = new Object[] {};
2
user2720864

Je pense que ce que vous voulez vraiment, c'est un ArrayList ou Vector . Les tableaux en Java ne sont pas comme ceux en Javascript.

1
linuxuser27