En Java, j'ai un Set
, et je veux le transformer en un fichier trié List
. Y a-t-il une méthode dans le java.util.Collections
package qui fera cela pour moi?
java
sorting
collections
Jeremy Stein
la source
la source
Util
classe est celle qui contient laasSortedList()
méthode que j'ai écrite. En d'autres termes, vous écrivez laUtil
classe vous-même et y mettez ce code.Ensemble trié:
ou:
la source
Set
?new TreeSet
accepteCollection
s, pas seulementSet
s. Tous ceux qui liront cette réponse n'utiliseront pas unSet
, même si c'est ce que la question initiale pose.… Devrait faire l'affaire cependant. Ajoutez de la saveur avec des génériques, le cas échéant.
la source
Comparable
et remplacer lacompareTo
méthode.Voici comment vous pouvez le faire avec les flux de Java 8:
ou avec un comparateur personnalisé:
la source
Utilisez toujours en toute sécurité l'interface Comparator ou Comparable pour fournir une implémentation de tri (si l'objet n'est pas une classe String ou Wrapper pour les types de données primitifs). Comme exemple d'implémentation d'un comparateur pour trier les employés en fonction du nom
Le comparateur est utile lorsque vous avez besoin d'un algorithme de tri différent sur le même objet (Dites le nom de l'emp, le salaire de l'emp, etc.). Le tri en mode unique peut être implémenté à l'aide de l'interface Comparable dans l'objet requis.
la source
Il n'y a pas de méthode unique pour faire cela. Utilisez ceci:
la source
Vous pouvez convertir un ensemble en un
ArrayList
, où vous pouvez trier l'ArrayList
utilisationCollections.sort(List)
.Voici le code:
la source
où originalset = ensemble non trié et liste = la liste à renvoyer
la source
@Jeremy Stein Je voulais implémenter le même code. De plus, je voulais trier l'ensemble en liste, donc au lieu d'utiliser Set, j'ai converti les valeurs d'ensemble en liste et trier cette liste en fonction de sa variable. Ce code m'a aidé,
la source
J'utilise ce code, que je trouve plus pratique que la réponse acceptée ci-dessus:
la source