Atbilde 1:

Gan salīdzināmais, gan salīdzināšanas līdzeklis ir saskarnes, un tos var izmantot, lai kārtotu kolekcijas elementus. Bet kāda ir atšķirība starp viņiem:

  • Salīdzināms: šai saskarnei ir viena salīdzināšanas metode. Klasei, kuras objektus sakārtot, jāīsteno šī salīdzināmā saskarne. Šajā gadījumā ir viena šķirošanas forma vai veids, piemēram, mēs varam kārtot spēlētājus pēc vecuma, tāpēc, ja mēs vēlamies kārtot viņus pēc ranga vai nosaukuma, šajā gadījumā mums jāmaina sava spēlētāju klase un jāmaina salīdzināšanas metode, lai to izdarītu. .Komparators: šai saskarnei ir divas metodes, kas ir vienādas un salīdzināmas. Klasei, kuras sakārtotie objekti nav jāievieš šī salīdzināšanas saskarne. Kāda trešā klase var ieviest šo saskarni, lai kārtotu. Šajā gadījumā ir vairākas šķirošanas formas, mēs varam rakstīt atšķirīgu šķirošanu, pamatojoties uz dažādiem šķirojamo objektu atribūtiem, piemēram, mēs varam kārtot spēlētājus pēc vecuma, pēc ranga un pēc nosaukuma, nemainot spēlētāju klasi, lai izdarītu to, ko mēs izmantojam citus klase vecuma salīdzināšanai un cita klase rangu salīdzināšanai un cita klase vārda salīdzināšanai.

Piemērs

Es ilustrēšu šīs atšķirības ar piemēru, tāpēc ņemsim spēlētāju klasi ar ranga, nosaukuma, vecuma un valsts atribūtiem. Lai es būtu paraugs, es nelietošu vispārīgus.

Salīdzināma saskarne

Pirmo reizi mēs kārtosim spēlētājus pēc ranga

Spēlētāju klase:

Ja mēs vēlamies kārtot spēlētājus pēc nosaukuma, mums jāmaina Player klase, lai to izdarītu:

Pārbaudes klase (galvenā metode):

Lai kārtotu spēlētājus, mēs izmantojam Collections.sort (saraksts)

Salīdzinātāja saskarne

Mēs izveidojam vienu spēlētāju klasi, to nemainot, un katram salīdzinājumam izveidojam klasi (pēc ranga, pēc nosaukuma)

Spēlētāju klase:

RankingComparator klase:

NameComparator klase:

Pārbaudes klase (galvenā metode):

Lai kārtotu spēlētājus, mēs izmantojam Collections.sort (saraksts, ComparatorObject)

Tas arī viss! Priecīgas mācības :)


Atbilde 2:

Atšķirība starp salīdzināšanas un salīdzināmajām saskarnēm ir šāda:

  1. Komparatoru saskarne ir definēta pakotnē java.util, savukārt salīdzināmā saskarne ir definēta pakotnē java.lang. Salīdzinātājam ir publiskā int salīdzināšanas metode (Objekts o1, objekts O2), savukārt salīdzināmajai ir metode public int salīdzTo (Objekts o). divi objekti, kamēr salīdzināmais interfeiss salīdzina “šo” atsauci ar norādīto objektu. Salīdzināmo saskarni izmanto, lai nodrošinātu dabisku objektu šķirošanu, un mēs to varam izmantot, lai nodrošinātu šķirošanu, pamatojoties uz vienu loģiku.

Tas viss ir vispārīgās atšķirības starp šīm divām saskarnēm.


Atbilde 3:

Salīdzināms ir interfeiss, kuru var ieviest klases objektu salīdzināšanas veikšanai. Šai saskarnei ir viena metode, un tā ir “CompareTo (T o)”, un tā jāīsteno pa klasēm. Šis paraksts apliecina, ka to var izmantot vienas klases objekta salīdzināšanai.

Komparators ir saskarne, kuru var ieviest klases ēku salīdzināšanas klasei. Šai saskarnei ir divas metodes, un tā ir “salīdzināt (T o1, T o2)” un “vienāda (objekts obj)”. “Salīdzināt ()” metode ir izmantota, lai salīdzinātu divus dažāda veida objektus.


Atbilde 4:

Salīdzināms ir interfeiss, kuru var ieviest klases objektu salīdzināšanas veikšanai. Šai saskarnei ir viena metode, un tā ir “CompareTo (T o)”, un tā jāīsteno pa klasēm. Šis paraksts apliecina, ka to var izmantot vienas klases objekta salīdzināšanai.

Komparators ir saskarne, kuru var ieviest klases ēku salīdzināšanas klasei. Šai saskarnei ir divas metodes, un tā ir “salīdzināt (T o1, T o2)” un “vienāda (objekts obj)”. “Salīdzināt ()” metode ir izmantota, lai salīdzinātu divus dažāda veida objektus.