Em Java, eu tenho um Set
e quero transformá-lo em um classificado List
. Existe um método no java.util.Collections
pacote que fará isso por mim?
java
sorting
collections
Jeremy Stein
fonte
fonte
Util
classe é a que contém oasSortedList()
método que escrevi. Em outras palavras, você mesmo escreve aUtil
classe e insere esse código.Conjunto classificado:
ou:
fonte
Set
?new TreeSet
aceitaCollection
s, não apenasSet
s. Nem todo mundo que está lendo esta resposta usa umSet
, mesmo que seja o que a pergunta original está fazendo.... deve fazer o truque no entanto. Adicione sabor com genéricos, quando aplicável.
fonte
Comparable
e substituir ocompareTo
método.Veja como você pode fazer isso com o Streams do Java 8:
ou com um comparador personalizado:
fonte
Sempre seguro usar a interface Comparator ou Comparable para fornecer implementação de classificação (se o objeto não for uma classe String ou Wrapper para tipos de dados primitivos). Como exemplo de uma implementação de comparador para classificar funcionários com base no nome
O comparador é útil quando você precisa ter um algoritmo de classificação diferente no mesmo objeto (por exemplo, nome do emp, salário, etc.). A classificação em modo único pode ser implementada usando a interface Comparável no objeto necessário.
fonte
Não existe um método único para fazer isso. Usa isto:
fonte
Você pode converter um conjunto em um
ArrayList
, onde é possível classificar oArrayList
usoCollections.sort(List)
.Aqui está o código:
fonte
onde originalset = conjunto não classificado e lista = a lista a ser retornada
fonte
@ Jeremy Stein Eu queria implementar o mesmo código. Assim como eu queria classificar o conjunto para a lista, então, em vez de usar o Conjunto, converti os valores do conjunto em Lista e classifique essa lista por uma variável. Esse código me ajudou,
fonte
Estou usando esse código, que acho mais prático do que a resposta aceita acima:
fonte