Disyorkan, 2024

Pilihan Editor

Perbezaan Antara Perbandingan dan Perbandingan di Jawa

Berbanding dan Comparator kedua-duanya adalah antara muka generik di Jawa yang digunakan untuk membandingkan unsur-unsur data objek. Antara muka yang sebanding terdapat dalam pakej java.lang dan antara muka Comparator terdapat dalam pakej java.util. Perbezaan asas antara antara muka Comparable dan Comparator adalah bahawa antara muka Comparable menyediakan urutan penyortiran tunggal sedangkan, antara muka Comparator menyediakan pelbagai urutan pengurutan. Terdapat beberapa perbezaan lain antara muka Comparable dan Comparator yang akan kita pelajari dalam Carta Perbandingan.

Carta Perbandingan

Asas untuk PerbandinganSebandingPembanding
AsasAntara muka yang sebanding membenarkan urutan urutan penyortiran tunggal.Antara muka Comparator membolehkan pelbagai Urutan Sorting.
PakejAntara muka yang boleh dibandingkan hadir dalam pakej java.lang.Antara muka Comparator hadir dalam pakej java.util.
KaedahAntara muka yang sebanding mengandungi hanya satu kaedah
compareTo int awam (Object obj);
Antara muka Comparator mengandungi dua kaedah
int awam membandingkan (Object Obj1, Objek obj2)
boolean sama dengan (Object obj)
PelaksanaanAntara muka yang setanding dilaksanakan oleh kelas yang objeknya akan dibandingkan.Antaramuka komparator dilaksanakan oleh kelas sperate dan bukannya kelas yang objeknya akan dibandingkan.
PerbandinganKaedah compareTo (Object obj) membandingkan objek yang digunakan untuk memanggil kaedah dengan objek yang dinyatakan melalui kaedah.Kaedah membandingkan (Objek obj1, objek Obj2) membandingkan kedua-dua objek yang dinyatakan yang dihantar kepada kaedah.
Senarai / ArrayApabila senarai objek Jenis yang boleh dibandingkan harus dibandingkan kelas Koleksi menyediakan kaedah iaitu Collections.sort (Senarai lst).Apabila senarai objek Jenis yang boleh dibandingkan harus dibandingkan kelas Pengumpulan menyediakan kaedah iaitu
Collections.sort (List, Comparator).

Definisi Boleh dibandingkan

Boleh dibandingkan adalah antara muka yang tersedia dalam pakej java.lang. Kelas melaksanakan antara muka Comparator, untuk menyusun objeknya dalam urutan semula jadi. Objek disusun dalam susunan semula jadi bermakna objek tersebut dibandingkan dengan nilai ASCII mereka. Kelas yang melaksanakan antara muka sebanding adalah kelas Byte, Watak, Double, Float, Long, Short, String, dan Integer. Malah Kelas Tarikh dan Calander juga melaksanakan antara muka yang boleh dibandingkan.

Antara muka yang boleh dibandingkan mengandungi hanya satu kaedah yang BandingkanTo (Object obj). Kaedah ini membandingkan objek yang digunakan untuk memohon kaedah dengan objek yang dinyatakan dalam parameter. Sintaks kaedah adalah seperti berikut:

 compareTo int awam (Object obj); 

Kaedah BandingkanTo (objek obj) kembali 0, apabila kedua-dua objek dibandingkan dengan kaedah mengandungi nilai yang sama, ia mengembalikan nilai -ve jika objek yang memanggil lebih kecil daripada maka objek yang ditentukan dan mengembalikan nilai ve jika objek yang digunakan lebih besar nilai berbanding dengan objek yang ditentukan. Kelas Koleksi memberikan satu cara untuk menyusun unsur-unsur senarai. Senarai (dan array) elemen Jenis sebanding boleh disusun menggunakan kaedah "Collections.sort (Senarai lst)".

Definisi Pembanding

Comparator adalah antara muka yang tersedia dalam pakej java.util. Komparator antara muka tidak dilaksanakan pada kelas yang objeknya dibandingkan berbanding kelas berasingan melaksanakan antara muka Comparator supaya logik sorting digunakan untuk setiap elemen data objek dalam kelas yang berbeza. Comparator mengandungi dua kaedah seperti berikut:

 int awam (Objek obj1, objek obj2) dan boolean sama dengan (Object obj) 

Kaedah membandingkan () di atas membandingkan objek pertama obj1, dengan objek kedua obj2. Kaedah membandingkan () mengembalikan 0 apabila kedua-dua objek dibandingkan dengan kaedah mengandungi nilai yang sama, ia mengembalikan nilai -ve jika objek obj1 lebih kecil daripada objek obj2 dan mengembalikan nilai ve jika objek obj1 mempunyai nilai yang lebih besar berbanding kepada objek obj2. Kaedah sama () memeriksa jika objek yang ditentukan sama dengan objek yang digunakan. Kaedah sama () kembali nyata jika kedua-dua objek yang dibandingkan sama dengannya ia kembali palsu . Kelas Koleksi menyediakan kaedah untuk menyusun elemen senarai dan jenis komparator. Senarai unsur-unsur jenis komparator disusun mengikut kaedah Collections.sort (Senarai, Perbandingan).

Perbezaan Utama Antara Perbandingan dan Perbandingan

  1. Antara muka yang setanding membolehkan urutan menyusun tunggal yang bermaksud anda boleh membandingkan hanya elemen data tunggal objek dalam kaedah compareTo () di sisi lain Antara muka komparator membolehkan pelbagai urutan penyusun yang bermakna anda boleh membandingkan pelbagai elemen data objek.
  2. Antara muka yang sebanding dilaksanakan oleh kelas yang objeknya akan dibandingkan kerana logika sorting ditakrifkan di dalam kelas yang sama. Sebaliknya, antara muka Comparator tidak dilaksanakan oleh kelas yang objeknya akan dibandingkan kerana logik sortasi ditakrifkan dalam kelas yang berasingan di mana setiap kelas menentukan sortasi pada elemen data tunggal objek dan kelas-kelas yang menentukan ini melaksanakan antara muka Comparator .
  3. Antara muka yang sebanding terletak di dalam pakej java.lang sedangkan, antara muka Comparator terletak di dalam pakej java.util.
  4. Antara muka yang boleh dibandingkan mengisytiharkan hanya satu kaedah yang compareTo (Object obj) sedangkan, antara muka Comparator mengisytiharkan dua kaedah iaitu, membandingkan (obj obj1, Object obj2) dan sama dengan (Oby obj).
  5. Kaedah compareTo (Object obj) dalam Comparable membandingkan metode yang menyeru objek dengan objek yang ditentukan yang disampaikan kepada kaedah sedangkan, perbandingan membandingkan objek Obj1 Objek obj2 membandingkan objek obj1 dengan obj2 yang diserahkan kepada kaedah.
  6. Kelas Koleksi memberikan kaedah pengisihan "Collections.sort (Senarai lst)" untuk mengisih objek jenis Sebanding. Kelas Koleksi menyediakan kaedah sorting Collections.sort (Senarai, Perbandingan) untuk menyusun objek jenis Comparator.

Kesimpulan:

Sekiranya anda ingin menyusun objek dalam pesanan semula jadi, maka anda boleh menggunakan antara muka setanding yang lain yang anda ingin menyusun objek berdasarkan sebarang atribut maka antara muka Comparator digunakan.

Top