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

Mar 11, 2025 - 01:15
 0
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 > Comparator
comparing(Function 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).

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 extraiNome = u -> u.getNome();
Comparator comparator = Comparator.comparing(extraiNome);
usuarios.sort(comparator);

  • O método comparing simplifica a criação de comparadores reutilizáveis.

Arquivo exemplo: OrdenacaoUsuarios.java