Un algo de tri, oui mais avec Iterator

Un algo de tri, oui mais avec Iterator - Java - Programmation

Marsh Posté le 12-08-2002 à 10:38:29    

Ben voilà. J'ai un objet implémentant java.util.Collection. Dans cet objet, on trouve des objets Job qui contiennent un élément "int time".
 
Mon but n'est pas de trier le tableau, mais de sortir l'objet de plus bas "time" d'appliquer une méthode à cet objet et une autre méthode à tous les autres.
 
Avec des for, c'est simple, moche, dépendant de ma Collection initiale (j'ai choisi ArrayList) et donc si je change de classe, je risque de devoir réimplémenter mes méthodes.
 
L'algo pour l'instant c'est :
 

Code :
  1. if (!jobList.isEmpty()) {
  2.   Job j = (Job)jobList.get(0);
  3.   bestTime = j.getTime();
  4.   bestId = 0;
  5.   for (int i = 1; i < jobList.size(); i++) {
  6.     j = (Job)jobList.get(i);
  7.     if (j.getTime() < time) {
  8.       time = j.getTime();
  9.       bestId = i;
  10.     }
  11.   }
  12.   for (int i = 0; i < jobList.size(); i++) {
  13.     if (i == bestId) {
  14.       job.start();
  15.     } else {
  16.       job.stop();
  17.     }
  18.   }
  19. }


 
Je vous l'avais dit, c'est moche. Est ce qu'on peut faire ça propre avec des itérateurs ?


Message édité par Cherrytree le 12-08-2002 à 10:39:09

---------------
Le site de ma maman
Reply

Marsh Posté le 12-08-2002 à 10:38:29   

Reply

Marsh Posté le 12-08-2002 à 10:47:23    

ben en implementant la methode compare dans ton JobTruc, et en utilisant SortedList, je crois.

Reply

Marsh Posté le 12-08-2002 à 10:49:42    

Je vais regarder ça.


---------------
Le site de ma maman
Reply

Marsh Posté le 12-08-2002 à 10:51:08    

je crois que je t'ai raconté n'importe quoi en fait
par contre
tu peux/dois implementer Comparator, et passer ce comparator à une methode de tri qui est je sais plus ou:)

Reply

Marsh Posté le 12-08-2002 à 10:56:04    

Je vais regarder ça alors.


---------------
Le site de ma maman
Reply

Marsh Posté le 12-08-2002 à 11:13:16    

--greg-- a écrit a écrit :

je crois que je t'ai raconté n'importe quoi en fait
par contre
tu peux/dois implementer Comparator, et passer ce comparator à une methode de tri qui est je sais plus ou:)




 
Indeed. En implémentant Comparator, tu spécifies si un objet est "plus grand plus petit ou égal" a ton objet actuel. C'est un peu le meme principe qu'equals.
 
Ensuite il faut voir la javadoc de comparator qui doit avoir un tag @see quelque part.


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-08-2002 à 11:13:19    

--greg-- a écrit a écrit :

ben en implementant la methode compare dans ton JobTruc, et en utilisant SortedList, je crois.



Elle existe pas cette classe. :D :ouch: :lol:


---------------
Le site de ma maman
Reply

Marsh Posté le 12-08-2002 à 11:14:33    

See Also:  
Comparable, Arrays.sort(Object[], Comparator), TreeMap, TreeSet, SortedMap, SortedSet, Serializable
 
 
Ceci dit --greg-- je me demande comment tu fais pour assimiler autant de choses en si peu de temps. Quel est ton secret ?
 
 :jap:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-08-2002 à 11:14:34    

DarkLord a écrit a écrit :

 
 
Indeed. En implémentant Comparator, tu spécifies si un objet est "plus grand plus petit ou égal" a ton objet actuel. C'est un peu le meme principe qu'equals.
 
Ensuite il faut voir la javadoc de comparator qui doit avoir un tag @see quelque part.



Bon, alors si vous vous mettez à deux, je m'incline. Je vais comprendre ce truc. :)


---------------
Le site de ma maman
Reply

Marsh Posté le 12-08-2002 à 11:15:21    

Cherrytree a écrit a écrit :

Elle existe pas cette classe. :D :ouch: :lol:  




 
 
 [:rofl] ca m'arrive tout le temps aussi ;) on fait un mix de deux noms de classes :p


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-08-2002 à 11:15:21   

Reply

Marsh Posté le 12-08-2002 à 11:15:47    

Cherrytree a écrit a écrit :

Elle existe pas cette classe. :D :ouch: :lol:  



en effet, mais bref, je t'ai repondu une 2e fois non:)

Reply

Marsh Posté le 12-08-2002 à 11:15:49    

DarkLord a écrit a écrit :

See Also:  
Comparable, Arrays.sort(Object[], Comparator), TreeMap, TreeSet, SortedMap, SortedSet, Serializable
 
 
Ceci dit --greg-- je me demande comment tu fais pour assimiler autant de choses en si peu de temps. Quel est ton secret ?
 
 :jap:  



La picole ? [:zebra33] OK, je sors. :D
Enfin, non, je reste. C'est mon topic.


---------------
Le site de ma maman
Reply

Marsh Posté le 12-08-2002 à 11:16:21    

--greg-- a écrit a écrit :

en effet, mais bref, je t'ai repondu une 2e fois non:)



C'était juste pour apporter un complément.


---------------
Le site de ma maman
Reply

Marsh Posté le 12-08-2002 à 11:16:29    

DarkLord a écrit a écrit :

See Also:  
Comparable, Arrays.sort(Object[], Comparator), TreeMap, TreeSet, SortedMap, SortedSet, Serializable
 
 
Ceci dit --greg-- je me demande comment tu fais pour assimiler autant de choses en si peu de temps. Quel est ton secret ?
 
 :jap:  



euh? ben jle savais deja avant qu'on se connaisse.
:??:

Reply

Marsh Posté le 12-08-2002 à 11:18:16    

bin tu fais du java depuis combien de temps ?


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-08-2002 à 11:19:18    

DarkLord a écrit a écrit :

bin tu fais du java depuis combien de temps ?



bah j'ai pas compté

Reply

Marsh Posté le 12-08-2002 à 11:27:08    

Moi j'ai commencé il y a un peu plus d'un an. :D  :D  :D


Message édité par Cherrytree le 12-08-2002 à 11:29:11

---------------
Le site de ma maman
Reply

Marsh Posté le 12-08-2002 à 11:28:57    

Surprenant qu'ils n'aient pas créé une SortedList. Vous pensez que c'est des problèmes d'optimisation qui font qu'une SortedList, c'est de la merde ?


---------------
Le site de ma maman
Reply

Marsh Posté le 12-08-2002 à 11:32:24    

y'a TreeSet

Reply

Marsh Posté le 12-08-2002 à 11:40:02    

--greg-- a écrit a écrit :

y'a TreeSet



Bonne remarque. ça a l'air d'être ce que je cherche. Merci de ton aide. Je vais te le refaire ton smiley et tu seras comblé. :jap:


---------------
Le site de ma maman
Reply

Marsh Posté le 12-08-2002 à 11:44:40    

Cherrytree a écrit a écrit :

Bonne remarque. ça a l'air d'être ce que je cherche. Merci de ton aide. Je vais te le refaire ton smiley et tu seras comblé. :jap:  



:lol:  
mais dans les Set je suis pas sur que tu peux avoir de doublons, à verifier.

Reply

Marsh Posté le 12-08-2002 à 11:45:27    

bin non c'est un set mathématique c'est normal :heink:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-08-2002 à 11:45:51    

DarkLord a écrit a écrit :

bin non c'est un set mathématique c'est normal :heink:



arrete de faire le malin hein :D

Reply

Marsh Posté le 12-08-2002 à 11:48:04    

--greg-- a écrit a écrit :

 :lol:  
mais dans les Set je suis pas sur que tu peux avoir de doublons, à verifier.



Des doublons au sens de mon equals ? Si c'est ça, c'est bon.


---------------
Le site de ma maman
Reply

Marsh Posté le 12-08-2002 à 11:48:22    

--greg-- a écrit a écrit :

arrete de faire le malin hein :D



[:darklord]


---------------
Le site de ma maman
Reply

Marsh Posté le 12-08-2002 à 11:48:36    

Cherrytree a écrit a écrit :

Des doublons au sens de mon equals ? Si c'est ça, c'est bon.



yep, verifie dans la doc :)

Reply

Marsh Posté le 12-08-2002 à 11:48:57    

Par contre, je suis confus entre Comparable et Comparator. J'ai besoin des deux ?


---------------
Le site de ma maman
Reply

Marsh Posté le 12-08-2002 à 11:50:59    

Cherrytree a écrit a écrit :

Par contre, je suis confus entre Comparable et Comparator. J'ai besoin des deux ?



Comparable est à implementer (si tu en as besoin) pour comparer des objets avec compare...
Comparator doit etre un objet separé de ton objet, il me semble, que tu passeras au constructeur de ton set, et que celui-ci utilisera pour comparer les objets que tu y inseres

Reply

Marsh Posté le 12-08-2002 à 11:52:06    

Merci. Je vais faire ça.


---------------
Le site de ma maman
Reply

Marsh Posté le 12-08-2002 à 11:53:50    

Cherrytree a écrit a écrit :

Merci. Je vais faire ça.



vérifie ce que je te dis quand meme hein:)

Reply

Marsh Posté le 12-08-2002 à 12:06:12    

--greg-- a écrit a écrit :

vérifie ce que je te dis quand meme hein:)



T'inquiète pas. Je suis pas suicidaire.


---------------
Le site de ma maman
Reply

Marsh Posté le 12-08-2002 à 12:07:30    

--greg-- a écrit a écrit :

arrete de faire le malin hein :D




 
pour une fois que je sais qqch. Je suis tout perdu moi depuis deux semaines bande de méchants :'(


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-08-2002 à 12:07:38    

Cherrytree a écrit a écrit :

[:darklord]




 
 :fuck:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 12-08-2002 à 12:10:02    

DarkLord a écrit a écrit :

 
 
 :fuck:  



[:darklord] (ça peut durer longtemps, je sais)


---------------
Le site de ma maman
Reply

Marsh Posté le 12-08-2002 à 14:13:05    

<grain_de_sable>
y a pas de SortedList, mais une interface SortedSet qui est implémentée par TreeSet.
 
sinon, si on veut vraiment une List, on peut se servir de la méthode static sort de la classe Collections qui peut prend en paramètre un Comparator
</grain_de_sable>


Message édité par benou le 12-08-2002 à 14:41:37
Reply

Marsh Posté le 12-08-2002 à 14:15:06    

benou a écrit a écrit :

<poussière_divine>
y a pas de SortedList, mais une interface SortedSet qui est implémentée par SortedTree.
 
sinon, si on veut vraiment une List, on peut se servir de la méthode static sort de la classe Collections qui peut prend en paramètre un Comparator
</poussière_divine>



Merci monsieur benou. Bon, c'est pas tout ça, mais faut que je code l'affaire maintenant. [:benou_suisse]


---------------
Le site de ma maman
Reply

Marsh Posté le 12-08-2002 à 14:21:16    

Citation :

<poussière_divine>
...
</poussière_divine>


MDR !!! :D :D

Reply

Marsh Posté le 12-08-2002 à 14:26:59    

skoi la difference entre TreeSet et SortedTree ?  


Message édité par --greg-- le 12-08-2002 à 14:36:30

---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 12-08-2002 à 14:28:13    

benou a écrit a écrit :

Citation :

<poussière_divine>
...
</poussière_divine>


MDR !!! :D :D



Youpi, il l'a vu. :jap:


---------------
Le site de ma maman
Reply

Marsh Posté le 12-08-2002 à 14:34:34    

--greg-- a écrit a écrit :

skoi la difference entre TreeSet et SortedSet ?  




SortedSet c'est une interface, TreeSet c'est la seule implémentation de cette interface ...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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