[java] trier une Hashtable
Fermé
karine
-
15 juin 2005 à 10:45
choubaka Messages postés 39367 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 12 mars 2024 - 16 mai 2007 à 13:29
choubaka Messages postés 39367 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 12 mars 2024 - 16 mai 2007 à 13:29
A voir également:
- [java] trier une Hashtable
- Waptrick java football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Trier excel - Guide
- Java jre - Télécharger - Langages
- Jeux java football - Télécharger - Jeux vidéo
9 réponses
C'est hallucinant ce que l'on peut lire comme conneries sur ce forum ...
La demoiselle veut trier sa Map en fonction des valeurs et non des clés.
Don même si ce qui est dit à propos de la possibilité de redéfinir un comparateur (qqsoit le type de Map), cette comparaison s'applique toujours sur les clés.
La demoiselle veut trier sa Map en fonction des valeurs et non des clés.
Don même si ce qui est dit à propos de la possibilité de redéfinir un comparateur (qqsoit le type de Map), cette comparaison s'applique toujours sur les clés.
choubaka
Messages postés
39367
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
12 mars 2024
2 099
15 juin 2005 à 11:35
15 juin 2005 à 11:35
salut
utilise cet objet ..
http://java.sun.com/j2se/1.4.2/docs/api/java/util/TreeMap.html
utilise cet objet ..
http://java.sun.com/j2se/1.4.2/docs/api/java/util/TreeMap.html
D'accord, mais maintenant que j'ai un treemap, comment je fais pour afficher les 10 premiers éléments (clé + valeur)?
J'ai pas trouvé sur internet.
Merci beaucoup choubaka pour ton aide!
J'ai pas trouvé sur internet.
Merci beaucoup choubaka pour ton aide!
Ah, j'ai trouvé comment afficher le treemap, mais il est pas du tout trié dans l'ordre de mes valeurs (qui sont des nombres).
Je vous mets un bout de code
Comment je peux faire ?
merci !!
Je vous mets un bout de code
Hashtable keywords; //remplie ailleurs TreeMap tree = new TreeMap(keywords); Set ensemble = tree.keySet(); Iterator iterateur = ensemble.iterator(); while(iterateur.hasNext()){ Object o = iterateur.next(); System.out.println(o.toString() + " : " + tree.get(o)); }
Comment je peux faire ?
merci !!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
choubaka
Messages postés
39367
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
12 mars 2024
2 099
15 juin 2005 à 12:48
15 juin 2005 à 12:48
resalut
tes keys, ce sont des objets de type Integer ?
tes keys, ce sont des objets de type Integer ?
choubaka
Messages postés
39367
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
12 mars 2024
2 099
15 juin 2005 à 12:58
15 juin 2005 à 12:58
si c'est le cas, il faut jouer avec un Comparator associé ou faire jouer le fait que les Integer implémentent l'interface comparable
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
1 793
>
choubaka
Messages postés
39367
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
12 mars 2024
15 juin 2005 à 13:36
15 juin 2005 à 13:36
Salut vous deux
Ce sont les values qui sont les integers...
Je ne sais pas en java mais je ferais une structure avec string key int value, je surchargerais Haschcode en key et les comparateurs sur la value...
Et après apparement tu as des fonctions de tri auto en java...
Ce sont les values qui sont les integers...
Je ne sais pas en java mais je ferais une structure avec string key int value, je surchargerais Haschcode en key et les comparateurs sur la value...
Et après apparement tu as des fonctions de tri auto en java...
choubaka
Messages postés
39367
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
12 mars 2024
2 099
>
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
15 juin 2005 à 19:51
15 juin 2005 à 19:51
désolé Teebo, si tu suis le lien de la javadoc ci-dessus, tu remarqueras que les Clefs et les valeurs sont des Objets et non des primitives.
Pour trier des objets dans ce genre de structure, il suffit de créer un objet qui implémente l'interface Comparator, cet objet va itérer la liste des clef (qui implémentent comparable) et les trier pour par exemple renvoyer une structure au sein de laquelle les objets seront triés.
Pour trier des objets dans ce genre de structure, il suffit de créer un objet qui implémente l'interface Comparator, cet objet va itérer la liste des clef (qui implémentent comparable) et les trier pour par exemple renvoyer une structure au sein de laquelle les objets seront triés.
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
1 793
>
teebo
Messages postés
33491
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
16 juin 2005 à 08:56
16 juin 2005 à 08:56
Point Java ne connait, et primitive ça reste pour moi une fonction mathématique, plus précisément l'opération inverse sur une fonction de la dérivation :o)
Donc tu peux mettre un comparateur sur tes clés qui en fait compare les valeurs?
Donc tu peux mettre un comparateur sur tes clés qui en fait compare les valeurs?
Merci tout le monde !
Finalement c'était trop compliqué pour moi, j'ai mis le contenu de ma hashtable dans un tableau à deux dimensions sur lequel j'ai appliqué un tri "bubble sort".
Mais merci quand même, ça m'a fait découvrir les treemap.
Ca pourra toujours servir :-)
Finalement c'était trop compliqué pour moi, j'ai mis le contenu de ma hashtable dans un tableau à deux dimensions sur lequel j'ai appliqué un tri "bubble sort".
Mais merci quand même, ça m'a fait découvrir les treemap.
Ca pourra toujours servir :-)
Utilisateur anonyme
21 juin 2005 à 14:07
21 juin 2005 à 14:07
Utilise simplement un TreeMap pour stocker tes objets (clé, valeur).
LE tri est implémenté par défaut dans TreeMap.
Il te suffit de récupérekeyset (map.keyset() ) puis d'itérer sur ce set. Les clés de ton map sont retournées triées automatiquement! (voir code ci-dessous).
;-)
HackTrack
LE tri est implémenté par défaut dans TreeMap.
Il te suffit de récupérekeyset (map.keyset() ) puis d'itérer sur ce set. Les clés de ton map sont retournées triées automatiquement! (voir code ci-dessous).
import java.util.Iterator; import java.util.Set; import java.util.TreeMap; public class TestMap extends TreeMap { public TestMap() { super(); } public void displayMap(){ Set keys = this.keySet(); Iterator it = keys.iterator(); while(it.hasNext()){ String key = (String)it.next(); System.out.println(key + ((Integer)this.get(key)).intValue()); } } public static void main(String args[]) { TestMap map = new TestMap(); map.put("Alice", new Integer(12)); map.put("Phil", new Integer(12)); map.put("Pol", new Integer(12)); map.put("Manu", new Integer(12)); map.put("Fred", new Integer(12)); map.put("Georges", new Integer(12)); map.put("Pascale", new Integer(12)); map.put("Isa", new Integer(12)); map.displayMap(); } }
;-)
HackTrack
merymoh
Messages postés
4
Date d'inscription
lundi 22 mai 2006
Statut
Membre
Dernière intervention
17 octobre 2006
28 mai 2006 à 01:11
28 mai 2006 à 01:11
svp pourriez vous me dire comment est la forme d'un hashtable je veux dire comment sont stockées les informations là dedans??
16 mai 2007 à 13:29
pas forcément, tout dépend de l'implémentation du comparator..
rien en t'empêche d'extraire les valeurs, les trier par la suite, etc ...