Разлика између упоредног и компаративног у Јави

Аутор: Laura McKinney
Датум Стварања: 1 Април 2021
Ажурирати Датум: 15 Може 2024
Anonim
Разлика између упоредног и компаративног у Јави - Технологија
Разлика између упоредног и компаративног у Јави - Технологија

Садржај

Упоредиво и Упоредни су оба генеричка сучеља у Јави која се користе за упоређивање елемената података објеката. Упоредиви интерфејс је присутан у пакету јава.ланг, а Цомпаратор интерфејс присутан у пакету јава.утил. Основна разлика између упоредног и компарацијског интерфејса је у томе што упоредиви интерфејс пружа јединствен редослед сортирања док, упоредни интерфејс пружа вишеструки низ сортирања. Постоје неке друге разлике између упоредивог и компаративног интерфејса које ћемо проучавати у упоредној табели.


  1. Упоредни графикон
  2. Дефиниција
  3. Кључне разлике
  4. Закључак

Упоредни графикон

Основе за упоређивањеУпоредивоУпоређивач
Основни Упоредиви интерфејс омогућава само једну секвенцу сортирања.Интерфејс Цомпаратор омогућава вишеструке секвенце сортирања.
Пакети Упоредиви интерфејс је присутан у пакету јава.ланг.Интерфејс компаратора је присутан у пакету јава.утил.
Методе Упоредиви интерфејс садржи само једну методу
јавни инт ЦомпареТо (Објецт обј);
Интерфејс компаратора садржи две методе
јавни инт упоређивање (Објект обј1, Објект обј2)
боолеан екуалс (Објект обј)
ИмплементацијаУпоредиви интерфејс имплементира класа чији се објекти упоређују.Интерфејс компаратора уместо класе чији се објекти упоређују уместо класе сперате.
Поређење Метода ЦомпареТо (Објецт обј) упоређује објект који се користи за позивање методе са наведеним објектом прелази на методу.Метода поређења (Објецт обј1, Објецт обј2) упоређује оба наведена објекта која су прослијеђена методи.
Листа / низКада се попис објеката сличног типа мора упоредити, класа Цоллецтион пружа методу, тј. Цоллецтионс.сорт (Лист лст).Кад се попис објеката упоредивог типа мора упоредити, класа Цоллецтион пружа методу, тј.
Цоллецтионс.сорт (Листа, компаратор).


Дефиниција Упоредивог

Упоредив је интерфејс који је доступан у пакету јава.ланг. Класа имплементира Цомпаратор интерфејс, да би сортирала свој објект у природном редоследу. Објекти су сортирани у природном редослиједу значи да су објекти поређени са својим АСЦИИ вриједностима. Класе које имплементирају упоредиви интерфејс су класе Бите, Цхарацтер, Доубле, Флоат, Лонг, Схорт, Стринг и Интегер. Чак и класа Дате и Цаландер такође имплементира Упоредиви интерфејс.

Упоредиви интерфејс садржи само један метод који је ЦомпареТо (Објецт обј). Ова метода упоређује објект који се користи за позивање методе са објектом наведеним у параметру. Синтакса методе је следећа:

јавни инт ЦомпареТо (Објецт обј);

РетурнТо (Објецт обј) метода се враћа 0, када оба објекта упоређена методом садрже исту вредност, враћа се -ве вредност ако је објект који се позива је мањи од наведеног објекта и враћа се + ве вредност ако објект који призива има већу вредност у односу на наведени објект. Класа Збирке пружа начин сортирања елемената листе. Елементи листе (и низова) Упоредивог типа могу се сортирати методом „Цоллецтионс.сорт (Листа лст)“.


Дефиниција компаратора

Цомпаратор је интерфејс који је доступан у пакету јава.утил. Компаратор интерфејса није имплементиран на класу чији се објекти морају упоређивати, а одвојена класа имплементира Цомпаратор интерфејс тако да се логика сортирања примењује на сваки податковни елемент објекта у другој класи. Упоређивач садржи две методе како следи:

Јавна инт упоређивање (Објект обј1, Објект обј2) и боолеан једнако (Објект обј)

Горња метода упоређивања () упоређује први објекат обј1, са другим објектом обј2. Метода поређења () се враћа 0 када оба објекта упоређена методом садрже исту вредност, враћа се -ве вриједност ако је објект обј1 мањи од тада објекта обј2 и враћа се + ве вриједност ако објект обј1 има већу вриједност у односу на објект обј2. Метода екуалс () провјерава је ли одређени објект једнак објекту који се позива. Метода екуалс () враћа истинито ако су оба упоређена објекта једнака, враћа се лажно. Класа Цоллецтионс пружа метод сортирања елемената пописа и врсте компаратора. Елементи пописа типова компаратора сортирани су методом Цоллецтионс.сорт (Лист, Цомпаратор).

  1. Упоредиво сучеље омогућава појединачну секвенцу сортирања што значи да можете упоређивати само један податковни елемент објекта у методи ЦомпареТо (), с друге стране, интерфејс компаратора омогућава више секвенци сортирања, што значи да можете упоредити више елемената података објекта.
  2. Упоредиви интерфејс имплементира класа чији се објекти упоређују јер је логика сортирања дефинисана унутар исте класе. С друге стране, Цомпаратор интерфејс не проводи класа чији се објекти требају упоређивати јер је логика сортирања дефинирана у одвојеним класама гдје свака класа дефинира сортирање на јединственом податковном елементу објекта, а ове класе које дефинирају имплементира Цомпаратор интерфејс .
  3. Упоредиви интерфејс налази се унутар јава.ланг пакета, док Цомпаратор интерфејс лежи унутар јава.утил пакета.
  4. Упоредни интерфејс декларира само једну методу која је ЦомпареТо (Објецт обј), док Цомпаратор интерфејс декларише две методе које су, упоредите (Објецт обј1, Објецт обј2) и једнаке (Објецт обј).
  5. Метода ЦомпареТо (Објецт обј) у Успоредни успоређује методу која призива објект са наведеним објектом прослијеђеним методом, док, успоредба (Објецт обј1, Објецт обј2), метода Успоредбеника успоређује објекте обј1 с обј2 који су прослијеђени методи.
  6. Класа Цоллецтионс пружа метод сортирања „Цоллецтионс.сорт (Листа лст)“ за сортирање објеката типа Упоредива. Класа Цоллецтионс пружа метод сортирања Цоллецтионс.сорт (Лист, Цомпаратор) за сортирање објеката типа Цомпаратор.

Закључак:

Ако желите да сортирате објекте у природном редоследу, тада можете да упоредите интерфејс који желите да сортирате на основу било којег атрибута, а затим се користи компараторски интерфејс.