cs_ajan
Messages postés35Date d'inscriptionjeudi 30 juin 2005StatutMembreDernière intervention13 avril 2007
-
24 mai 2006 à 11:41
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023
-
24 mai 2006 à 16:15
Bonjour,
Je suis débutante en java et je voudrais créer une "matrice", c'est à dire un tableau à 2 dimensions, mais dont chaque colonne pointe sur un type d'objet et chaque ligne sur un autre type.
J'espère que je suis claire mais dans le doute...
J'ai un enregistrement, sous forme .text de résultats à des tests pour plusieurs espèces différentes. Je voudrais donc avoir un tableau avec ces résultats, et que les colonnes soient reliées aux tests et les lignes aux espèces...
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 24 mai 2006 à 16:15
Lol ui fiston :D
Ba ajan si tu veux vraiment travailler avec des noms au format chaine
ou int remplace Vector<Vector<Object>> vec = new
Vector<Vector<Object>>();
par
Hashtable<String, Hashtable<String, Object>> table = new Hashtable<String, Hashtable<String, Object>>();
comme ca tu peux donner achaque lignes et colonnes un nom :D
après pour ce qui est de l'enregistrement dans un fichier et ou
chargement depuis un fichier c'est pinuts il te suffi d'avoir recours à
la serialisation/deserialisation
exemple :
//Serialisation
FileOutputStream fos = new FileOutputStream(fileName);
ObjectOutputStream out = new ObjectOutputStream(fos);
out.writeObject(table);
out.flush();
out.close();
//Deserialisation
FileInputStream fis = new FileInputStream(fileName);
ObjectInputStream in = new ObjectInputStream(fis);
HSylvio
Messages postés116Date d'inscriptionjeudi 22 juillet 2004StatutMembreDernière intervention14 juin 2012 24 mai 2006 à 14:39
Il faut je pense que tu utilises une hierarchie :
espece => espece1, espece2, ...
test => test1extends test, test2 extends test ....
Tu créé la méthode test(espece) où tu appelles des fonctions de espece qui pourront être spécifiques à chaque espece.
Ensuite pour ta matrice tu souhaites je pense enregistrer seulement le résultat, donc testI(especeJ) est le remplissage de la case (i,j).
Je ne suis pas sûr d'avoir bien compris ton probleme non plus.....
cs_ajan
Messages postés35Date d'inscriptionjeudi 30 juin 2005StatutMembreDernière intervention13 avril 2007 24 mai 2006 à 15:29
ouais, j'avoue, j'ai pas été très claire.
je sais pas si ça parle plus, mais en fait, dans l'idéal, ce que j'aimerai avoir, c'est un tableau 2d où en prenant tableau(i,j) j'ai le résultat d'un test j pour une espèce i (ça, c par encore très compliqué), mais en plus, je puisse accéder à des "noms" de colonnes et de ligne, qui seraient en fait des pointeurs sur un objet test ou espèce, en faisant quelque chose du style tableau(i,j).colonne ou tableau(i,j).ligne.
je pense qu'un enregistrement serait la meilleure solution, mais je n'arrive pas à voir comment le faire.
En fait, ce que je veux faire, c'est un tableau 2d "amélioré", sur lequel je puisse donner à chaque ligne et colonne un "nom".
Au pire, je peux toujours faire un tableau d'enregistrement avec dans chaque "case", le résultat, le test et l'espèce mais y'a mieux comme code...
Vous n’avez pas trouvé la réponse que vous recherchez ?
HSylvio
Messages postés116Date d'inscriptionjeudi 22 juillet 2004StatutMembreDernière intervention14 juin 2012 24 mai 2006 à 15:49
C'est bien ce que j'imaginais, alors pour en revenir à ma solution (qui est certainement moins bonne que celle de Twinuts, c'est monPère...) ,
les classes mère 'test' et 'espece' contiennent un String avec leur nom; une méthode 'teste(espece) et getVal( valeurDesireePourLeTest)'
Tu créées 1 JTable avec des headers dans lesquels tu mets le nom (méthode des classes mères donc pas de pb),
Tu remplis le tableau en faisant myTable.setValue( tests[i].teste(espece[j]) , i, j); ou l'inverse si les tests sont en colonnes.