5.3 Métodos Estáticos na Interface Comparator

No Java 8, interfaces podem ter métodos estáticos além dos métodos default.
A interface Comparator introduziu métodos utilitários, como comparing(), que simplificam a criação de comparadores.

Exemplo usando Comparator.comparing():

Comparator<Usu…


This content originally appeared on DEV Community and was authored by FUNDAMENTOS JAVA

No Java 8, interfaces podem ter métodos estáticos além dos métodos default.
A interface Comparator introduziu métodos utilitários, como comparing(), que simplificam a criação de comparadores.

Exemplo usando Comparator.comparing():

Comparator<Usuario> comparator = Comparator.comparing(u -> u.getNome());
usuarios.sort(comparator);

Forma mais curta:

usuarios.sort(Comparator.comparing(u -> u.getNome()));

Com static import:

import static java.util.Comparator.comparing;
usuarios.sort(comparing(u -> u.getNome()));

5.4 Conhecendo Melhor o Comparator.comparing()
comparing() exige que o critério de ordenação seja Comparable.
Exemplo: String já implementa Comparable, então a ordenação por nome funciona.
Ordenação por ordem natural

Se tivermos uma lista de String, podemos ordená-la assim:

List<String> palavras = Arrays.asList("Casa do Código", "Alura", "Caelum");
Collections.sort(palavras); // Método tradicional

No Java 8, o método List.sort() exige um Comparator, então podemos usar:

palavras.sort(Comparator.naturalOrder());

Para ordem inversa, usamos:

palavras.sort(Comparator.reverseOrder());

Vantagens do Uso de Comparator no Java 8:
✅ Código mais limpo e legível
✅ Evita necessidade de classes anônimas
✅ Aproveita métodos utilitários para ordenação simplificada


This content originally appeared on DEV Community and was authored by FUNDAMENTOS JAVA


Print Share Comment Cite Upload Translate Updates
APA

FUNDAMENTOS JAVA | Sciencx (2025-03-08T18:12:50+00:00) 5.3 Métodos Estáticos na Interface Comparator. Retrieved from https://www.scien.cx/2025/03/08/5-3-metodos-estaticos-na-interface-comparator/

MLA
" » 5.3 Métodos Estáticos na Interface Comparator." FUNDAMENTOS JAVA | Sciencx - Saturday March 8, 2025, https://www.scien.cx/2025/03/08/5-3-metodos-estaticos-na-interface-comparator/
HARVARD
FUNDAMENTOS JAVA | Sciencx Saturday March 8, 2025 » 5.3 Métodos Estáticos na Interface Comparator., viewed ,<https://www.scien.cx/2025/03/08/5-3-metodos-estaticos-na-interface-comparator/>
VANCOUVER
FUNDAMENTOS JAVA | Sciencx - » 5.3 Métodos Estáticos na Interface Comparator. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2025/03/08/5-3-metodos-estaticos-na-interface-comparator/
CHICAGO
" » 5.3 Métodos Estáticos na Interface Comparator." FUNDAMENTOS JAVA | Sciencx - Accessed . https://www.scien.cx/2025/03/08/5-3-metodos-estaticos-na-interface-comparator/
IEEE
" » 5.3 Métodos Estáticos na Interface Comparator." FUNDAMENTOS JAVA | Sciencx [Online]. Available: https://www.scien.cx/2025/03/08/5-3-metodos-estaticos-na-interface-comparator/. [Accessed: ]
rf:citation
» 5.3 Métodos Estáticos na Interface Comparator | FUNDAMENTOS JAVA | Sciencx | https://www.scien.cx/2025/03/08/5-3-metodos-estaticos-na-interface-comparator/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.