Méthode de remplissage de tableau

Méthode de remplissage de tableau - Java - Programmation

Marsh Posté le 27-10-2005 à 19:40:01    

Bonsoir à tous.
 
Voilà j'ai un problème assez simple surement à résoudre pour des gens qui sont fort en java ms moi je suis vraiment aux bases alors je galère...
 
En fait,je dois lire un fichier dont la taille varie à chaque ligne ex:
 
1 2 3 4 5  
4 5 6 5 4 4 4 5
8 8 8 8 8 8  
 
etc..
 
et dois parvenir à mettre tous ca ds un tableau, je suppose que celui ci sera dynamique ca va de soi ms je ne c pas par quel bout prendre...
 
Je connais la méthode lecture d'une ligne avec espqce qui consiste à utiliser les tokenizers ms là...je suis noyé...plzzzzzzzzzz help  :(

Reply

Marsh Posté le 27-10-2005 à 19:40:01   

Reply

Marsh Posté le 27-10-2005 à 20:02:10    

et bien utilise des java.util.ArrayList pour tes tableaux.

Reply

Marsh Posté le 27-10-2005 à 20:23:56    

tu peux utiliser soit les ArrayList, ou Vector

Reply

Marsh Posté le 27-10-2005 à 20:36:51    

Vector c'est has been

Reply

Marsh Posté le 27-10-2005 à 21:49:54    

OK merci...
Je vois ca ca marche grand merci...
Maintenant autre prblème et je comprend pas vraiment...
prenons l'exemple d'avant si g
1 2 3 4 5
Si j'ai dans un tableau de String en position [1][2] la "String" 2
Pourquoi passe t il tout droit d'un test qui dit
ex if(Tab[1][2]=="2" )
{
}
????????
Donc en fait si je print ce qui se trouve ds le tableau à cet endroit il me dit 2 ms dès que je veux tester c'est mort...

Reply

Marsh Posté le 27-10-2005 à 22:21:11    

pour la comparaison de string utilise equals

Reply

Marsh Posté le 27-10-2005 à 22:28:11    

phnatomass a écrit :

Vector c'est has been


C'est pas "has been", c'est thread safe, contrairement à ArrayList, donc largement moins performant.
 
Mais c'est loin d'être has been quand on se retrouve à faire des applis multithreadées avec des race conditions sur certaines ressources [:spamafote]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 28-10-2005 à 00:14:31    

Code :
  1. static ArrayList parse(BufferedReader input) throws IOException
  2.     {
  3. ArrayList rows = new ArrayList();
  4. String line;
  5. while ((line = input.readLine()) != null) {
  6.     ArrayList cols = new ArrayList();
  7.     StringTokenizer st = new StringTokenizer(line);
  8.     while (st.hasMoreTokens())
  9.  cols.add(st.nextToken());
  10.     rows.add(cols);
  11. }
  12. return rows;
  13.     }

Reply

Marsh Posté le 28-10-2005 à 08:59:56    

masklinn a écrit :

C'est pas "has been", c'est thread safe, contrairement à ArrayList, donc largement moins performant.
 
Mais c'est loin d'être has been quand on se retrouve à faire des applis multithreadées avec des race conditions sur certaines ressources [:spamafote]


Pour la gestion du multithread
Avant :

Code :
  1. List maListeSynchronisee = new Vector();


Aujourd'hui

Code :
  1. List maListeSynchronisee = Collections.synchronizedList(new ArrayList());

Message cité 1 fois
Message édité par phnatomass le 28-10-2005 à 09:00:31
Reply

Marsh Posté le 28-10-2005 à 10:45:38    

la vérité c'est aussi qu'on nous a pété les oreilles pendant des années que la synchronization dans un contexte monothread ça ne coutait rien.

Reply

Marsh Posté le 28-10-2005 à 10:45:38   

Reply

Marsh Posté le 28-10-2005 à 10:54:42    

phnatomass a écrit :

Pour la gestion du multithread
Avant :

Code :
  1. List maListeSynchronisee = new Vector();


Aujourd'hui

Code :
  1. List maListeSynchronisee = Collections.synchronizedList(new ArrayList());



Effectivement, la solution 2 est beaucoup plus... simple [:pingouino]
 
Pi c'est sûrement largement plus optimisé d'utiliser une méthode générique que d'utiliser des objets faits pour ça aussi [:pingouino]

Taz a écrit :

la vérité c'est aussi qu'on nous a pété les oreilles pendant des années que la synchronization dans un contexte monothread ça ne coutait rien.


[:mlc]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 28-10-2005 à 12:11:53    

masklinn a écrit :

Effectivement, la solution 2 est beaucoup plus... simple [:pingouino]
 
Pi c'est sûrement largement plus optimisé d'utiliser une méthode générique que d'utiliser des objets faits pour ça aussi [:pingouino]
 
[:mlc]


Ce n'est pas une question de simplicité c'est une question d'implementation.
L'implémentation de la seconde méthode est plus efficace en terme de gestion de la concurrence que celle de Vector.
C'EST TOUT  :o


Message édité par phnatomass le 28-10-2005 à 12:20:34
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed