Tableaux et Java

bou -  
 mmigo -
je ne sais pas comment créer un tableau dynamique (taille non fixée) et avec plusieurs niveaux.

Je sais comment le faire en perl ( $tab{niv1}{niv2}{niv3} = $val )

Il m'est impossible de refaire la même chose en Java.

Si tu as la solution, ça m'aiderait énormément

Merci
A voir également:

8 réponses

kathou Messages postés 80 Statut Membre 24
 
Bonjour Bou!

Pour créer un tableau dynamique en Java tu doit utiliser la classe Array List ou la classe Vector. De plus, plein de méthode sont disponibles pour faire toutes sorte de traitement.

Je te conseille la classe Array List car la classe Vector est déprécier en Java.

Sur le site de javasun.com tu trouveras toute la documentation nécessaire à la réalisation de ton tableau

Bonne chance
Kathou
20
lof. Messages postés 689 Statut Membre 44
 
Les arrayList c'est bien, mais tu ne sais pas ce qui se trouve dedans....

Une autre solution consiste a gérer soit même la dynamique du tableau.


ex :
int[] tab ={1,2};
 
//Ajout d'un élément :
int element=7;

int[] temp=tab;
tab=new int[tab.length+1];
for(int i=0;i<temp.length;i++)
    tab[i]=temp[i];
tab[temp.length]=element;
 


Arrf
lof.
10
rubidium Messages postés 95 Statut Membre
 
SAlut,
Tu es sur que ca vaut le coup au niveau gestion memoire et rapidité d'instancier a chaque fois un nouveau tableau et de copier l'ancien?
J'ai utilisé pas mal de vecteurs et d'array list sans aucun probleme jusqu'a maintenant pour ne pas avoir a utiliser de tels artifices.

@tchao
0
lof. Messages postés 689 Statut Membre 44 > rubidium Messages postés 95 Statut Membre
 
Oui, je sais moi aussi j'utilise des ArrayList, mais je trouve beaucoup plus clair d'avoir un tableau objetX[] qu'un vecteur qui contient des objetX....
Surtout quand on est débutant, il est facile de créer des ArrayList et de s'y perdre (ajout d'un objet non voulu dans un arrayList).

Perso, ce ne sont les tableaux que je reconstruit qui me font perdre le plus de temp, et qui utilise le plus de mémoire ;-)
0
lof. Messages postés 689 Statut Membre 44 > rubidium Messages postés 95 Statut Membre
 
Je viens de faire le test, et il est vrai que si il faut stocker pas mal de valeur, il y a un temp non néglieable de différence entre un ArrayList et un tableau reconstruit à chaque fois ....

ensuite, tout dépend de ce que l'on cherche à faire ....

Débutant : je conseil d'essayé la gestion dynamque.
Ensuite : ArrayList ou Vector
0
NainPure
 
Si tu peux savoir ce qu'il y a dedans :

List<MonType> maListe = new ArrayList<MonType>();

Alors qu'avec ta solution, on double (au minimum) le nombre de tableau utilisé, on parcours n fois une boucle avec x itération. Généralement, quand on a absolument besoin d'utilisé des tableaux (et pas des listes), c'est pour des algos assez costauds. Ta solution n'est donc vraiment pas adaptée.
De plus, ta solution n'est acceptable que pour des tableaux de type primitifs, puisque tu fais int[] temp=tab;
ce qui est généralement pas très fiable (en POO, tu ne copies pas la valeur de l'objet mais la référence, et donc toute modification sur l'autre sera logiquement impactée sur l'autre).
Bon, je connais pas bien les tableaux en Java, je suis toujours passé par des List.
0
bob
 
for(int i=0;i<temp.length;i++)
tab[i]=temp[i];

should be written as

System.arraycopy(temp, 0, tab, 0, temp.length);
0
mmigo
 
tu peut voire
http://progjava.blogspot.com/2011/03/un-tableau-java-est-un-objet-permettant.html
il y as pas mal de chose a savoir sur les tableau
4
SkonLa
 
juste une petite remarque en passant concernant l'orthographe et le français : essayez de trouver quelque chose en utilisant la fonction "rechercher" dans un forum ecrit en SMS... vous verrez, il est beaucoup plus facile de trouver ce qu'on cherche sur un forum ecrit en francais correct avec le moins de fautes possibles (je dis pas sans faute c'est trop dur :).
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
k-23 Messages postés 290 Statut Membre 9
 
salut moi aussi je suis débutant je pense que tu devrais aller sur youtube il y a des bon tutorials pour apprendre tout sur java si tu veux savoir sur les tableau écrit java tables ca va taider


note: ils sont en anglais
1
Sidi
 
bonjour tous le monde,je viens de créer une application en PHP, mais mon seul souci, est comment obliger à l'utilisateur d'entrer que des entiers, si n'a pas respecté, on lui envoi une script d'alerte de reprendre tous,merci j'attends des réponses mes ami(es).
1
CEDIEU Achile
 
je voudrais savoir toutes les informations sur la programmation de java S.V.P; mais les plus importantes pour ce moi c'est bien
la creation des tableaux en java,les vecteurs et la class array
-1
afaf
 
si tu es debutant tu fixe un tableau de longueur 1000 par exemple en faisant des if break a chaque fois pour ne pas depasser ta limite...
soit tu te mets en Vector ArrayList Array ou List cest mieux.
-2