Contoh Penggunaan Method hashCode() dan equals() di Program Java
Secara default , di dalam class libray java (java.lang.Object) terdapat dua method penting ,yang digunakan untuk perbandingan objek, kedua method tersebut yaitu .hashcode() , dan .equals().
Kedua method ini ,akan sangat berguna ,ketika digunakan untuk projek software , dalam skala besar. Untuk itu , pada artikel belajar java kali ini , kita akan mencoba mengenal definisinya , implementasi atau contoh penggunaanya , menggunakan bahasa pemrograman Java. Selengkapnya ,berikut mari kita simak lebih lanjut :
1. Sebelumnya ,kita perlu mengetahui definisi dari method .hashcode() , dan .equals().
- Method equals()
Method equals() adalah salah satu method yang didefinisikan secara default , di class libray java (java.lang.Object) , yang dimana fungsinya digunakan untuk membandingkan kesamaan nilai , pada suatu objek . Kedua objek akan dikatakan sama atau equals ,jika keduanya menyimpan konten atau nilai value yang sama.
- Method hashcode()
Method hashcode() adalah salah satu method yang didefinisikan secara default , di class library java (java.lang.Object) , yang dimana fungsinya untuk mengembalikan representasi integer dari alamat memori objek. Jadi secara default , method ini akan mengembalikan nilai integer ,secara random dan unik , pada setiap instansi. Tiap integer ini akan berubah ,tergantung , dari setiap eksekusi aplikasi.
2. Selanjutnya , kalian buka IntelliJ IDEA ,atau Software IDE lain yang kalian gunakan , di Komputer atau Laptop kalian.
3. Kalian bisa perhatikan contoh code ,beserta penjelasanya di bawah :
Contoh Code :
Mobil.java
Contoh Code |
Penjelasan :
Pada contoh code program di atas , kita membuat class Mobil ,lalu kita deklarasikan variable nomor ,dengan tipe data integer dan namaMerk ,dengan tipe data String.
Selanjutnya ,kita membuat constructor milik class Mobil ,dengan parameter , untuk mengembalikan nilai pada kedua variable.
Lalu kita membuat method .toString() , untuk mengembalikan nilai string pada objek.
Main.java
Contoh Code |
Penjelasan :
Pada contoh code program di atas ,kita menginstansi objek mobil1 ,mobil2 ,mobil3 ,dan mobil4 , lalu mendefinisikan nilai argumentnya , pada constructor.
Disini kita akan menggunakan class library collection ,seperti HashMap dan HashSet , untuk mengorganisasikan data.
Selanjutnya ,kita menginstansi objek map dan set. Lalu kita tambahkan nilai atau valuenya ,dengan method .put() dan .add().
Setelah itu ,kita tampilkan output hasilnya.
Output :
Output Hasil |
Seperti yang sudah di jelaskan , pada artikel sebelumnya , saat kita menggunakan HashMap , kita menggunakan tipe data berpasangan yaitu key-value. Semua key ,yang didefinisikan nilainya , harus unik , jadi tidak boleh sama. Sedangkan HashSet , semua nilai yang didefinisikan juga harus unik ,tidak boleh duplikat satu sama lain.
Nah , pada contoh kasus di atas ,kita tidak menggunakan tipe data primitif , tapi kita menggunakan custom objek dari class Mobil ,yaitu mobil1 ,mobil2 ,mobil3 ,dan mobil4, yang telah kita definisikan nilainya.
Hasilnya ,akan terjadi duplikasi data, saat kita mencoba menjalankan programnya. Dikarenakan objek dari Set dan Map , tidak dapat mengenali dan memeriksa konten objek , dari class Mobil
Untuk itu , kita perlu mengoveride atau menggunakan method .hashCode() dan .equals() , di dalam class Mobil , agar objek dapat dikenali , lalu di cek kondisi jika terjadi duplikasi data.
4. Pada class Mobil ,jika kalian menggunakan IntelliJ IDEA , kalian cukup tekan tombol Alt + Insert di keyboard.
Lalu pada jendela pop-up Generate , kalian pilih equals() and hashcode.
Generate > equals() and hashcode |
Pada jendela Generate equals() and hashCode() , kalian pilih tombol Next ,sampai Finish.
Generate equals() and hashCode() |
Hasilnya akan menjadi seperti contoh code berikut :
Mobil.java
Contoh Code |
Penjelasan :
Seperti yang kalian lihat , pada contoh code program di atas ,otomatis kita telah mendefinisikan method .equals() dan .hashcode() , yang akan kita gunakan untuk variable nomor ,dan namaMerk dalam class Mobil.
Setelah itu ,kita kembali jalankan programnya.
Hasilnya ,tidak ada lagi duplikasi data ,seperti output hasil sebelumnya.
Output Hasil :
Output Hasil |
Baca juga : Belajar Mengenal Perbedaan == dan .equals() di Program Java
Post a Comment for "Contoh Penggunaan Method hashCode() dan equals() di Program Java"
Silakan berkomentar dengan baik ,jangan SPAM di komentar ini . NO BACKLINK /LINK HIDUP