Tableaux et Java

Fermé
bou - 2 déc. 2003 à 14:04
 mmigo - 30 mars 2011 à 10:50
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 79 Date d'inscription jeudi 4 septembre 2003 Statut Membre Dernière intervention 16 janvier 2004 24
2 déc. 2003 à 15:42
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 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 11 juin 2007 44
3 déc. 2003 à 10:49
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 Date d'inscription jeudi 13 novembre 2003 Statut Membre Dernière intervention 16 juillet 2006
3 déc. 2003 à 11:09
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 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 11 juin 2007 44 > rubidium Messages postés 95 Date d'inscription jeudi 13 novembre 2003 Statut Membre Dernière intervention 16 juillet 2006
3 déc. 2003 à 13:21
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 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 11 juin 2007 44 > rubidium Messages postés 95 Date d'inscription jeudi 13 novembre 2003 Statut Membre Dernière intervention 16 juillet 2006
3 déc. 2003 à 13:53
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
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
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
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
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 252 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 25 novembre 2014 9
16 nov. 2008 à 05:04
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
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
10 janv. 2007 à 23:04
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
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