Você está aqui: Java ::: Pacote java.util ::: Comparator |
Entenda e aprenda a usar objetos da interface Comparator em suas aplicações JavaQuantidade de visualizações: 2495 vezes |
Um objeto da interface Comparator<T>, do pacote java.util, é útil quando precisamos de uma função de comparação para facilitar a ordenação dos objetos de uma coleção. Um Comparator pode ser passado para um método sort (tais como Collections.sort ou Arrays.sort) para permitir um controle preciso sobre a ordem da classificação. Objetos desta interface também podem ser usados para controlar a ordem de certas estruturas de dados (tais como conjuntos ou mapas ordenados - sorted sets ou sorted maps) ou para fornecer uma ordenação para coleções de objetos que não apresentam uma ordem natural. Para vermos um exemplo da utilidade de um Comparator, comece analisando o trecho de código abaixo: package estudos; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; // classe que será usada para demonstração do uso de um Comparator class Pessoa{ String nome; int idade; // construtor public Pessoa(String nome, int idade){ this.nome = nome; this.idade = idade; } } public class Estudos{ public static void main(String[] args) { // vamos criar uma ArrayList de objetos da classe Pessoa ArrayList<Pessoa> pessoas = new ArrayList(); pessoas.add(new Pessoa("Carlos", 30)); pessoas.add(new Pessoa("Marcos", 11)); pessoas.add(new Pessoa("Cintia", 35)); pessoas.add(new Pessoa("Fernanda", 10)); pessoas.add(new Pessoa("Igor", 91)); // vamos ordenar os elementos do ArrayList usando o método sort() da classe Collectons Ao executarmos este código nós teremos o seguinte resultado: Nome: Fernanda; Idade: 10 Nome: Marcos; Idade: 11 Nome: Carlos; Idade: 30 Nome: Cintia; Idade: 35 Neste exemplo podemos ver que cinco objetos da classe Pessoa foram adicionados no ArrayList. Note que suas idades não estão ordenadas. Porém, após a chamada ao método sort() da classe Collections e fornecendo um objeto Comparator com o critério de ordenação, os elementos do ArrayList são ordenados por idade ascendente (da menor para a maior). As classes conhecidas e que implementam a interface Comparator são Collator e RuleBasedCollator. |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |