Sebanding dan komparator keduanya antarmuka Java, bahasa pemrograman tingkat tinggi yang digunakan untuk mengurutkan elemen koleksi. Java pada dasarnya menyediakan dua antarmuka berbeda ini untuk mengurutkan objek.
Ada banyak perbedaan penting antara kedua antarmuka yang membuat garis di antara keduanya berdasarkan fungsi yang mereka lakukan.
Pengambilan Kunci
- Sebanding adalah antarmuka untuk pemesanan alami objek; Komparator adalah utilitas eksternal untuk membandingkan objek.
- Menerapkan Sebanding membutuhkan modifikasi kelas objek yang dibandingkan; Comparator dapat digunakan tanpa memodifikasi kelas aslinya.
- Sebanding memberlakukan metode penyortiran default tunggal; Komparator memungkinkan beberapa opsi penyortiran yang dapat disesuaikan.
Sebanding vs Pembanding
Sebanding adalah antarmuka di Java yang mendefinisikan metode compareTo dan digunakan untuk membandingkan objek yang dipesan secara alami. Itu membandingkan objek menggunakan referensi "ini". Antarmuka pembanding mengurutkan objek dengan mempertimbangkan atributnya. Itu menganggap objek dari dua kelas yang berbeda.
Sebanding adalah antarmuka yang ada dalam paket lang bahasa Java, dan tujuannya adalah untuk mengurutkan elemen koleksi hanya dengan menggunakan satu atribut seperti umur, harga, id, nama, dll.
Itu mampu membandingkan dirinya sendiri dengan objek lain. Objek jenis apa pun, baik itu daftar atau larik, dapat diurutkan.
Comparator adalah antarmuka yang hadir dalam paket util bahasa Java, dan tujuannya adalah untuk mengurutkan elemen koleksi menggunakan beberapa atribut sekaligus.
Ini adalah kelas yang terpisah dan berada di luar jenis elemen yang dibandingkan. Kelas koleksi menyediakan metode penyortiran kedua yang menerima pembanding sebagai parameter.
Tabel perbandingan
Parameter Perbandingan | Sebanding | Pembanding |
---|---|---|
Jenis penyortiran | Ini memberikan urutan penyortiran tunggal. | Ini menyediakan beberapa urutan penyortiran. |
Modifikasi kelas | Itu memodifikasi kelas yang sebenarnya. | Itu tidak mengubah kelas yang sebenarnya. |
Lokasi paket | Itu ada dalam paket java—lang. | Ini hadir dalam bahasa jawa. paket utilitas. |
metode | Ini memiliki metode compareTo() . | Ini memiliki metode bandingkan (). |
Metode pengurutan | Metode Collections.sort(Daftar). | Metode Collections.sort(Daftar, Pembanding). |
Apa yang Sebanding?
Seperti dibahas di atas, yang sebanding adalah antarmuka bahasa pemrograman Java yang ada dalam paket lang dan digunakan untuk mengurutkan elemen koleksi dengan hanya menggunakan satu atribut. Antarmuka yang sebanding hanya berisi satu metode yaitu compareTo().
Objek yang sebanding mampu membandingkan dengan objek lain. Agar kelas dapat membandingkan instance, kelas perlu mengimplementasikan antarmuka Sebanding.
Antarmuka yang sebanding dikembangkan untuk objek dengan urutan alami. Dengan kata lain, ini berarti bahwa objek yang akan diurutkan harus memiliki urutan yang akan diurutkan.
Dalam istilah logis, antarmuka yang sebanding membandingkan referensi "ini" dengan objek yang disebutkan dalam metode. Saat ada kelas yang mengimplementasikan antarmuka Sebanding, objek dari kelas tersebut dapat diurutkan dengan menggunakan Koleksi. sort() atau Array. sort() metode.
Objek akan secara otomatis diurutkan dalam urutan alami yang ditentukan oleh metode CompareTo. Angka, string, dan banyak jenis lainnya dapat dibandingkan. String dapat dibandingkan dengan menggunakan perbandingan abjad.
Berbagai kelas bawaan Java mengimplementasikan antarmuka yang sebanding. Hal terpenting yang harus diingat adalah bahwa antarmuka yang sebanding hanya dapat digunakan untuk membandingkan objek dari kelas yang sama.
Apa itu Pembanding?
Antarmuka komparator bahasa pemrograman Java hadir dalam paket util dan digunakan untuk mengurutkan koleksi berdasarkan beberapa atribut sekaligus.
Komparator adalah kelas yang benar-benar terpisah. Pemrogram menggunakan untuk membuat banyak kelas yang mengimplementasikan antarmuka komparator untuk tujuan membandingkan objek yang berbeda.
Untuk membandingkan objek koleksi apa pun, langkah pertama adalah membuat kelas yang mengimplementasikan metode pembanding, yang memiliki metode bandingkan() di dalamnya. Langkah selanjutnya adalah membuat instance dari kelas tersebut yang mengimplementasikan antarmuka komparator.
Langkah terakhir adalah memanggil metode kelebihan beban, yaitu metode sort() dan kemudian menetapkan daftar dan instance kelas yang telah dibuat pada langkah sebelumnya.
Antarmuka komparator membandingkan dua objek dari kelas yang berbeda. Antarmuka Comparator memiliki dua metode di dalamnya, yaitu metode compare() dan metode equals().
Metode compare() mengambil dua objek berbeda sebagai parameternya untuk dibandingkan, dan metode equals() menentukan apakah objek tersebut Lulus sama dengan pembanding pemanggil.
Metode equals() mengembalikan nilai boolean sebagai outputnya. True dikembalikan ketika objek lewat dan objek pemanggil keduanya pembanding dan jika tidak, maka false dikembalikan.
Metode bandingkan () mengembalikan nilai integer dalam outputnya, menunjukkan yang lebih besar di antara dua objek yang diteruskan.
Perbedaan Utama Antara Sebanding dan Pembanding
- Antarmuka Sebanding menyediakan penyortiran tunggal urutan di mana koleksi dapat diurutkan melalui satu elemen seperti id, nama, atau parameter tertentu, sedangkan antarmuka pembanding menyediakan urutan penyortiran berganda di mana koleksi dapat disortir melalui beberapa elemen seperti id, nama, atau parameter lainnya .
- Antarmuka yang sebanding memengaruhi kelas asli karena memodifikasi kelas sebenarnya, sedangkan, di sisi lain, antarmuka pembanding tidak memengaruhi kelas asli dengan cara apa pun, karena kelas sebenarnya tetap sama tanpa modifikasi apa pun.
- Antarmuka yang sebanding hadir dalam paket lang Java, sedangkan antarmuka komparator hadir dalam paket util Java.
- Pada interface yang sebanding, metode compareTo() digunakan untuk mengurutkan elemen, sedangkan pada interface komparator, metode compareTo() digunakan untuk mengurutkan elemen.
- Elemen daftar jenis koleksi yang sebanding dapat diurutkan dengan menggunakan Koleksi. Sortir (Daftar) metode, sedangkan di sisi lain, elemen daftar tipe pembanding dari koleksi dapat diurutkan dengan menggunakan Koleksi. Sortir (Daftar, Pembanding) metode.
- https://dom-pubs.onlinelibrary.wiley.com/doi/abs/10.1111/j.1463-1326.2011.01545.x
- https://journals.asm.org/doi/abs/10.1128/aac.47.6.1824-1831.2003
- https://ieeexplore.ieee.org/abstract/document/6042862/
Terakhir Diperbarui : 17 Juli 2023
Sandeep Bhandari meraih gelar Bachelor of Engineering in Computers dari Thapar University (2006). Beliau memiliki pengalaman selama 20 tahun di bidang teknologi. Dia memiliki minat dalam berbagai bidang teknis, termasuk sistem database, jaringan komputer, dan pemrograman. Anda dapat membaca lebih lanjut tentang dia di nya halaman bio.
Perbedaan utama yang Anda tunjukkan antara antarmuka Comparable dan Comparator sangat informatif dan membantu dalam memahami perbedaan antara keduanya. Penjelasan Anda tentang bagaimana antarmuka Comparable secara otomatis mengurutkan objek dalam urutan alami yang ditentukan oleh metode bandingkanTo sangat mencerahkan.
Terima kasih telah merinci logika di balik antarmuka Comparable dan Comparator. Informasi ini tentunya akan membantu penerapan mekanisme penyortiran dengan lebih efektif.
Saya setuju, artikel ini memberikan perbandingan antarmuka Comparable dan Comparator yang jelas dan ringkas, sehingga lebih mudah untuk memahami fungsi unik dan kasus penggunaannya.
Perincian antarmuka Sebanding dan Pembanding serta fitur-fiturnya yang berbeda sangat mendidik. Penjelasan komprehensif Anda tentang tujuan dan penggunaan antarmuka ini pasti akan membantu pengembang dalam membuat keputusan desain yang tepat.
Saya menghargai perbandingan mendetail yang disajikan di sini. Ini adalah informasi berharga bagi pengembang yang ingin meningkatkan pemahaman mereka tentang teknik pengurutan dan perbandingan di Java.