Este post discutirá como classificar uma array de objetos usando o Comparable e Comparator interface em Java. 1. Usando ComparávelPara classificar uma array de objetos usando o Arrays.sort método em Java, podemos fazer com que a classe implemente o Comparable interface, que então impõe uma ordenação natural em seus objetos. Se um objeto implementa o Comparable interface, ele precisa substituir seu método abstrato compareTo(), que compara um objeto com o objeto especificado. O valor devolvido pelo compareTo() O método decide a posição do objeto em relação ao objeto especificado. Se compareTo() retorna um
Veja como ordenamos a array do Student objeto usando o Comparable interface, onde o array é primeiro ordenado por age e depois por name.
Download Executar código Resultado: 2. Usando o ComparadorUMA Comparator é uma função de comparação que impõe uma ordenação total em alguma coleção de objetos e permite um controle preciso sobre a ordem de classificação quando passada para o Arrays.sort método. Se um objeto implementa o Comparator interface, ele precisa substituir o método abstrato compare(), que compara seus dois argumentos para ordem. O valor devolvido pelo compare() O método decide a posição do primeiro objeto em relação ao segundo objeto. Se compare() retorna um
Download Executar código Resultado:
Também podemos usar o Comparator.thenComparing() método, que efetivamente combina duas comparações em uma: |