En Java, tengo un Set
, y quiero convertirlo en un ordenado List
. ¿Hay algún método en el java.util.Collections
paquete que haga esto por mí?
java
sorting
collections
Jeremy Stein
fuente
fuente
Util
clase es la que contiene elasSortedList()
método que escribí. En otras palabras, usted escribe laUtil
clase usted mismo y le agrega ese código.Conjunto ordenado:
o:
fuente
Set
?new TreeSet
aceptaCollection
s, no soloSet
s. No todos los que lean esta respuesta usarán unSet
, a pesar de que esa es la pregunta original.... Sin embargo, debería hacer el truco. Agregue sabor con genéricos cuando corresponda.
fuente
Comparable
y anular elcompareTo
método.Así es como puedes hacerlo con las transmisiones de Java 8:
o con un comparador personalizado:
fuente
Siempre es seguro usar la interfaz Comparador o Comparable para proporcionar una implementación de clasificación (si el objeto no es una clase String o Wrapper para tipos de datos primitivos). Como ejemplo para una implementación de comparación para clasificar a los empleados según su nombre
El comparador es útil cuando necesita tener un algoritmo de clasificación diferente en el mismo objeto (diga nombre emp, salario emp, etc.). La ordenación de modo único se puede implementar mediante el uso de una interfaz comparable en el objeto requerido.
fuente
No hay un método único para hacer eso. Utilizar este:
fuente
Puede convertir un conjunto en un
ArrayList
, donde puede ordenar elArrayList
usoCollections.sort(List)
.Aquí está el código:
fuente
donde originalset = conjunto sin clasificar y list = la lista que se devolverá
fuente
@ Jeremy Stein Quería implementar el mismo código. Además, quería ordenar el conjunto de la lista, por lo que en lugar de usar el conjunto, convertí los valores del conjunto en Lista y clasifiqué esa lista por una variable. Este código me ayudó
fuente
Estoy usando este código, que me parece más práctico que la respuesta aceptada anteriormente:
fuente