5.4 Conhecendo melhor o Comparator.comparing
1 Implementação do Método comparing O método comparing pertence à classe Comparator. Ele utiliza generics para definir seus tipos de entrada e saída. public static

1 Implementação do Método comparing
O método comparing pertence à classe Comparator.
Ele utiliza generics para definir seus tipos de entrada e saída.
public static
comparing(Function super T, ? extends U> keyExtractor)
O método recebe uma Function, que extrai a chave de comparação de um objeto do tipo T.
Garante que U é um tipo comparável (Comparable super U>).
2 Uso da API de Funções em Java 8
A interface Function é usada para transformar um objeto de um tipo em outro.
No método comparing, a Function recebe um objeto T e retorna um valor U.
O método apply() da Function é utilizado para extrair a chave de comparação.
3 Criando um Comparator com Lambda
- O método retorna um Comparator criado com um lambda:
return (c1, c2) -> keyExtractor.apply(c1).compareTo(keyExtractor.apply(c2));
- Esse Comparator compara os objetos c1 e c2 com base na chave extraída.
4 Exemplo
Function
Comparator
usuarios.sort(comparator);
- O método comparing simplifica a criação de comparadores reutilizáveis.
Arquivo exemplo: OrdenacaoUsuarios.java