Logo ms.removalsclassifieds.com

Perbezaan Antara Sebanding dan Pembanding (Dengan Jadual)

Isi kandungan:

Anonim

Sebanding dan pembanding ialah kedua-dua antara muka java yang merupakan bahasa pengaturcaraan peringkat tinggi, digunakan untuk mengisih elemen koleksi. Java pada asasnya menyediakan dua antara muka yang berbeza ini untuk mengisih objek. Terdapat banyak perbezaan ketara antara kedua-dua antara muka yang mencipta garisan antara keduanya berdasarkan fungsi yang mereka lakukan.

Sebanding vs Pembanding

Perbezaan antara sebanding dan pembanding adalah tersendiri pada pelbagai parameter seperti antara muka bekas digunakan untuk mengisih koleksi melalui satu elemen, manakala antara muka kemudian digunakan untuk mengisih koleksi melalui berbilang elemen. Kelas tertentu perlu melaksanakan java sendiri. Antara muka Lang.Comparable untuk dapat membandingkan kejadiannya dengan cekap, manakala antara muka pembanding adalah luaran kepada jenis elemen yang sedang dibandingkan.

Sebanding ialah antara muka yang terdapat dalam pakej lang bahasa java, dan tujuannya adalah untuk mengisih elemen koleksi hanya menggunakan satu atribut seperti umur, harga, id, nama, dll. Ia mampu membandingkan dirinya sendiri dengan sebarang objek lain. Objek dalam apa jua jenis, sama ada senarai atau tatasusunan, boleh diisih.

Comparator ialah antara muka yang terdapat dalam pakej util bahasa java, dan tujuannya adalah untuk mengisih elemen koleksi menggunakan berbilang atribut sekaligus. Ia adalah kelas yang berasingan dan berada di luar jenis elemen yang sedang dibandingkan. Kelas koleksi menyediakan kaedah pengisihan kedua yang menerima pembanding sebagai parameter.

Jadual Perbandingan Antara Sebanding dan Pembanding

Parameter Perbandingan

Setanding

Pembanding

Jenis pengisihan Ia menyediakan satu urutan pengisihan tunggal. Ia menyediakan berbilang urutan pengisihan.
Pengubahsuaian kelas Ia mengubah suai kelas sebenar. Ia tidak mengubah suai kelas sebenar.
Lokasi pakej Ia hadir dalam pakej java-lang. Ia hadir di java. pakej guna.
Kaedah Ia mempunyai kaedah compareTo(). Ia mempunyai kaedah compare().
Kaedah pengisihan Kaedah Collections.sort(Senarai). Kaedah Collections.sort(Senarai, Pembanding).

Apakah Setanding?

Seperti yang dibincangkan di atas, setanding ialah antara muka bahasa pengaturcaraan java yang terdapat dalam pakej lang dan digunakan untuk mengisih elemen koleksi dengan hanya menggunakan satu atribut. Antara muka setanding mengandungi hanya satu kaedah iaitu compareTo(). Objek setanding mampu membandingkan dengan objek lain. Untuk kelas dapat membandingkan kejadian, adalah syarat yang perlu bagi kelas untuk melaksanakan antara muka setanding.

Antara muka yang setanding telah dibangunkan untuk objek dengan susunan semula jadi. Dalam erti kata lain, ini bermakna bahawa objek yang hendak diisih mesti mempunyai susunan di mana ia akan diisih. Dari segi logik, antara muka setanding membandingkan rujukan "ini" dengan objek yang disebut dalam kaedah. Apabila antara muka setanding dilaksanakan oleh mana-mana kelas, objek kelas itu boleh diisih dengan menggunakan Koleksi. sort() atau Tatasusunan. kaedah sort().

Objek akan diisih secara automatik dalam susunan semula jadi yang ditakrifkan oleh kaedah CompareTo. Nombor, rentetan, dan banyak jenis lain boleh dibandingkan. Rentetan boleh dibandingkan dengan menggunakan perbandingan abjad. Pelbagai kelas terbina dalam java melaksanakan antara muka yang setanding. Perkara yang paling penting yang perlu diingat ialah antara muka setanding hanya boleh digunakan untuk membandingkan objek kelas yang sama.

Apa itu Comparator?

Antara muka pembanding bahasa pengaturcaraan java terdapat dalam pakej util dan digunakan untuk mengisih koleksi berdasarkan berbilang atribut sekaligus. Comparator ialah kelas yang sama sekali berasingan. Pengaturcara menggunakan untuk mencipta berbilang kelas yang melaksanakan antara muka pembanding untuk tujuan membandingkan objek yang berbeza.

Untuk membandingkan sebarang objek koleksi, langkah pertama ialah mencipta kelas yang melaksanakan kaedah pembanding, yang mempunyai kaedah compare() di dalamnya. Langkah berikut adalah untuk membuat contoh kelas itu yang melaksanakan antara muka pembanding. Langkah terakhir ialah memanggil kaedah terlebih beban, iaitu kaedah sort() dan kemudian tetapkan kedua-dua senarai dan contoh kelas yang telah dibuat dalam langkah sebelumnya.

Antara muka pembanding membandingkan dua objek kelas yang berbeza. Antara muka Comparator mempunyai dua kaedah di dalamnya, iaitu kaedah compare() dan kaedah equals(). Kaedah compare() mengambil dua objek berbeza sebagai parameternya untuk dibandingkan, dan kaedah equals() menentukan sama ada objek yang dilalui sama dengan comparator yang memanggil. Kaedah equals() mengembalikan nilai boolean sebagai outputnya. Benar dikembalikan apabila objek berlalu, dan objek yang memanggil adalah kedua-dua pembanding, dan jika tidak, maka palsu dikembalikan.

Kaedah compare() mengembalikan nilai integer dalam outputnya yang menunjukkan lebih besar antara dua objek yang dilalui.

Perbezaan Utama Antara Setanding dan Pembanding

Kesimpulan

Walaupun kedua-dua antara muka digunakan untuk tujuan pengisihan, kedua-duanya berbeza sepenuhnya antara satu sama lain. Terdapat banyak parameter atau alasan di mana ia digunakan secara berbeza pada elemen senarai untuk tujuan yang berbeza. Jika seseorang individu ingin mengisih mana-mana elemen senarai berdasarkan satu elemen koleksi, maka antara muka yang setanding boleh dilaksanakan; sebaliknya, jika individu itu ingin mengisih sebarang elemen senarai berdasarkan berbilang atribut, maka koleksi tertentu itu harus diisih melaksanakan antara muka pembanding. Kedua-dua antara muka dibangunkan untuk digunakan untuk tujuan yang berasingan untuk dicapai.

Rujukan

  1. https://dom-pubs.onlinelibrary.wiley.com/doi/abs/10.1111/j.1463-1326.2011.01545.x
  2. https://journals.asm.org/doi/abs/10.1128/aac.47.6.1824-1831.2003
  3. https://ieeexplore.ieee.org/abstract/document/6042862/

Perbezaan Antara Sebanding dan Pembanding (Dengan Jadual)