Praticando Interface Set & TreeSet Para Compreender melhor
- #Java
Bom Dia, segue explicação das Interfaces e testes com Set e TreeSet.
O Set é apenas uma interface. A ordem depende da implementação.
O HashSet não tem garantia nenhuma de ordem. Na prática é aleatório.
O LinkedHashSet mantém a ordem na qual os elementos são inseridos.
O TreeSet ordena os elementos de acordo com a ordenação natural (crescente, alfabética, etc). É possível passar um Comparator no construtor para especificar como ele deve ordenar caso a ordenação natural não exista ou não seja a desejada






Pelo que entendi segue explicação:
Comparable altera classe que será posto,
int = "Compara esse objeto com o objeto especificado para a ordem"
Comparator Devera ser colocado fora da classe como nova classe.
int = "Compara seus dois argumentos para ordem",
boolean = "Indica se algum outro Objeto é "igual a" este comparador"
Referencias
Comparable X Comparator
Comparable
Comparablefornece uma única sequência de ordenação. Em outras palavras, podemos ordenar a coleção com base em um único elemento, como id, nome e preço.Comparableafeta a classe original, ou seja, a classe atual é modificada.Comparablefornece o métodocompareTo()para ordenar elementos.Comparableestá presente no pacotejava.lang.Comparableusando o métodoCollections.sort(List).Comparator
Comparatorfornece o métodocompare()para ordenar elementos.Comparatorfornece múltiplas sequências de ordenação. Em outras palavras, podemos ordenar a coleção com base em múltiplos elementos, como id, nome, preço, etc.Comparatornão afeta a classe original, ou seja, a classe atual não é modificada.Comparatorestá presente no pacotejava.util.Comparatorusando o métodoCollections.sort(List, Comparator).Collections
Collectionsé uma classe utilitária do Java para operações comuns em coleções.sort()é usado para ordenar uma lista em ordem ascendente.sort()em conjunto comCollections.reverseOrder()permite ordenar em ordem descendente.LB
Poderia dar um exemplo de implementação de um comparator?