Diferència entre comparador i comparador en Java

Autora: Laura McKinney
Data De La Creació: 1 Abril 2021
Data D’Actualització: 15 Ser Possible 2024
Anonim
Diferència entre comparador i comparador en Java - Tecnologia
Diferència entre comparador i comparador en Java - Tecnologia

Content

Comparable i Comparator són les interfícies genèriques de Java que s’utilitzen per comparar els elements de dades dels objectes. La interfície Comparable és present al paquet java.lang i la interfície Comparator és present al paquet java.util. La diferència bàsica entre la interfície Comparable i la Comparadora és que la interfície Comparable proporciona la seqüència d’ordenació única mentre que, la interfície Comparator proporciona diverses seqüències d’ordenació. Hi ha algunes altres diferències entre la interfície comparada i la comparadora que estudiarem en el gràfic de comparació.


  1. Gràfic de comparació
  2. Definició
  3. Diferències claus
  4. Conclusió

Gràfic de comparació

Bases per a la comparacióComparableComparador
Bàsic La interfície comparable només permet una seqüència d'ordenació única.La interfície del comparador permet múltiples seqüències d’ordenació.
Paquets La interfície comparable és present al paquet java.lang.La interfície del comparador està present al paquet java.util.
Mètodes La interfície comparable només conté un mètode
public int compareTo (object object);
La interfície del comparador conté dos mètodes
public int compare (Object object1, Object obj2)
booleans iguals (object object)
ImplementacióLa interfície comparable és implementada per la classe els objectes que s'han de comparar.La interfície del comparador està implementada per una classe sperate en lloc de la classe que els objectes s'han de comparar.
Comparació El mètode compareTo (Object object) compara l'objecte que s'utilitza per invocar el mètode amb els passos d'objecte especificat al mètode.El mètode Compare (Object obj1, Object obj2) compara els dos objectes especificats que es passen al mètode.
Llista / MatriuQuan s'ha de comparar una llista de l'objecte de tipus comparable, la classe Collection proporciona un mètode i.e. Collections.sort (List lst).Quan s'ha de comparar una llista d'objectes de tipus comparable, la classe Collection proporciona un mètode i.e.
Collections.sort (Llista, comparador).


Definició de Comparable

Comparable és una interfície disponible al paquet java.lang. Una classe implementa la interfície Comparator, per ordenar el seu objecte en ordre natural. Els objectes estan ordenats en ordre natural, cosa que els objectes es comparen segons els seus valors ASCII. Les classes que implementen la interfície comparable són classes Byte, Character, Double, Float, Long, Short, String i Integer. Fins i tot la classe Data i Calander també implementa la interfície comparable.

La interfície comparable només conté un mètode que és CompareTo (object object). Aquest mètode compara l'objecte utilitzat per invocar el mètode amb l'objecte especificat en el paràmetre. La sintaxi del mètode és la següent:

public int compareTo (object object);

Retorn del mètode CompareTo (Object object) 0, quan tant l'objecte comparat amb el mètode conté el mateix valor, es retorna -vaig valor si l'objecte invocant és menor que l'objecte especificat i es retorna + ve valor si l'objecte invocador té un valor més gran que en comparació amb l'objecte especificat. La classe Collections proporciona un mètode d'ordenació per ordenar els elements de la llista. Els elements de llista (i matriu) de tipus comparable es poden ordenar mitjançant el mètode “Collections.sort (List lst)”.


Definició de Comparador

Comparator és una interfície disponible al paquet java.util. La interfície Comparator no s’implementa a la classe els objectes que s’han de comparar en lloc d’una classe separada implementa la interfície Comparator de manera que s’aplica la lògica d’ordenació a cada element de dades de l’objecte d’una classe diferent. El comparador conté dos mètodes de la següent manera:

comparació d'int public (Object object1, Object obj2) i booleà igual (Object object)

El mètode compare () anterior compara el primer objecte object1 amb el segon objecte obj2. El retorn del mètode compare () 0 quan tant l'objecte comparat amb el mètode conté el mateix valor, es retorna -vaig valor si l'objecte obj1 és menor que l'objecte obj2 i es retorna + ve valor si l'objecte obj1 té un valor major en comparació amb l'objecte obj2. Els mètodes iguals () comproven si l’objecte especificat és igual a l’objecte invocador. Retorn del mètode iguals () cert si tots dos objectes comparats són iguals, es torna fals. La classe Collections proporciona el mètode per ordenar els elements de la llista i el tipus de comparador. Els elements de llista dels tipus de comparadors s'ordenen en el mètode Collections.sort (Llista, comparador).

  1. La interfície comparable permet una seqüència d'ordenació única, el que significa que només es pot comparar un element de dades únic de l'objecte en el mètode compareTo (). D'altra banda, la interfície del comparador permet seqüències d'ordenació múltiples que volen comparar diversos elements de dades de l'objecte.
  2. La interfície comparable és implementada per la classe els objectes que s'han de comparar perquè la lògica d'ordenació es defineix dins de la mateixa classe. D'altra banda, la interfície del comparador no és implementada per la classe els objectes que s'han de comparar perquè la lògica d'ordenació es defineix en les classes separades on cada classe defineix l'ordenació en un element de dades únic de l'objecte i aquestes classes definidores implementen la interfície del comparador. .
  3. La interfície Comparable es troba dins del paquet java.lang mentre que, la interfície Comparator es troba dins del paquet java.util.
  4. La interfície Comparable declara només un mètode que és compareTo (Object obj) mentre que, la interfície Comparator declara dos mètodes que són, compare (Object obj1, Object obj2) i iguals (Object obj).
  5. El mètode compareTo (Object obj) en Comparable compara el mètode que invoca l'objecte amb l'objecte especificat passat al mètode mentre que, el mètode compare (Object obj1, Object obj2) del comparador compara els objectes obj1 amb l'object2 que es passen al mètode.
  6. La classe Collections proporciona un mètode d’ordenació “Collections.sort (List lst)” per ordenar els objectes del tipus Comparable. La classe Collections proporciona un mètode d’ordenació Collections.sort (Llista, comparador) per ordenar els objectes del tipus Comparator.

Conclusió:

Si voleu ordenar els objectes en l'ordenament natural, podeu utilitzar la interfície comparable que vulgueu ordenar els objectes basats en qualsevol atribut, aleshores s'utilitza la interfície del comparador.