Qual é a diferença entre comparável e comparador em Java

Índice:

Anonim

o principal diferença entre comparável e comparador em Java é que comparável classifica a coleção com base em um único elemento, enquanto comparador classifica a coleção com base em vários elementos.

Java é uma linguagem de programação de alto nível de uso geral que ajuda a construir vários aplicativos, como web, desktop, celular e sistemas distribuídos de alto desempenho. Além disso, uma das principais vantagens do Java é que ele oferece suporte à Programação Orientada a Objetos (OOP). O paradigma permite a criação de classes e objetos. A classe é uma cópia azul para criar objetos. Além disso, possui membros de dados para descrever as propriedades e métodos para denotar os comportamentos. Além disso, o Java fornece várias interfaces para classificar objetos usando os membros de dados da classe. Comparável e comparador são dois deles.

Comparável, Comparador, Interface, Java

O que é comparável em Java

A interface comparável ajuda a comparar um objeto com outro objeto. A classe implementa a interface java.lang.Comparable para comparar suas instâncias. A primeira etapa é implementar a interface comparável com a classe e, em seguida, substituir o método compareTo () da interface Comparable.

Figura 1: aula do aluno

Figura 2: Programa principal para comparáveis

No programa acima, Student é uma classe que implementa a interface Comparable. Mais importante ainda, a classe Aluno tem três membros de dados: id, nome e marcas. O construtor ajuda a fornecer os valores iniciais aos membros de dados. Além disso, essa classe substitui o método compareTo. O objeto do aluno é passado para este método. Assim, este método retorna 1, -1 ou 0 dependendo da comparação.

No programa principal, “al” é um objeto de ArrayList. Os programadores podem inserir objetos Student nesta ArrayList. O método de classificação classifica os elementos. Finalmente, o “for loop” exibe os elementos no console.

O que é Comparator Java

A interface do comparador é usada para classificar os elementos de uma lista usando diferentes comparadores. Um exemplo de programa é o seguinte.

Figura 3: Comparador de nomes e marcas

Figura 4: Programa principal para comparador

No programa acima, Student é uma classe que implementa a interface Comparable. Além disso, a classe do aluno tem três membros de dados: id, nome e marcas. O construtor ajuda a fornecer valores iniciais aos membros de dados. A classe MarkComparator implementa a interface Comparator. Portanto, ele substitui o método de comparação que aceita dois objetos de Aluno. De acordo com a comparação, o método compare retorna 1, -1 ou 0.

Da mesma forma, há outra classe chamada AgeComparator que implementa a interface Comparator. Ele também substitui o método de comparação. Além disso, este método obtém dois objetos de aluno. Além disso, o método compare retorna o inteiro de acordo com a comparação.

No programa principal, “al” é um objeto de ArrayList. O programador pode inserir objetos Student a este ArrayList, assim como nas linhas 34, 35 e 36. Além disso, na linha 38, os elementos são comparados de acordo com o nome. O “loop for” exibe os elementos na tela. Na linha 43, os elementos são comparados de acordo com a marca. Em seguida, o próximo “loop for” exibe os elementos na tela.

Diferença entre comparável e comparador em Java

Definição

Comparable é uma interface em Java usada para ordenar os objetos da classe definida pelo usuário que fornece sequências de classificação únicas, enquanto Comparator é uma interface em Java usada para ordenar os objetos de uma classe definida pelo usuário que fornece várias sequências de classificação. Portanto, isso explica a principal diferença entre Comparable e Comparator em Java.

Classificar elementos

Além disso, Comparable fornece o método compareTo () para classificar os elementos, enquanto o Comparator fornece o método compare () para classificar os elementos. Portanto, essa também é uma diferença entre Comparable e Comparator em Java.

Sintaxe para classificar

Outra diferença entre Comparable e Comparator em Java é que a sintaxe para classificar em Comparable é Collections.sort (List), enquanto a sintaxe para classificar em Comparator é Collections.sort (List, Comparator)

Conclusão

Em resumo, Comparable e Comparator são duas interfaces para classificar objetos usando os membros de dados da classe. A principal diferença entre Comparable e Comparator em Java é que Comparable classifica a coleção com base em um único elemento, enquanto Comparator classifica a coleção com base em vários elementos.

Referência:

1. “Java Comparable - Javatpoint.” Www.javatpoint.com, disponível aqui.2. “Java Comparator - Javatpoint.” Www.javatpoint.com, disponível aqui.

Qual é a diferença entre comparável e comparador em Java