Perbedaan Antara equals dan kode hash di Jawa

Perbedaan Kunci - sama dengan vs hashCode di Jawa
 

Persamaannya mirip dengan operator ==, yaitu untuk menguji identitas objek daripada kesetaraan objek. Kode hash adalah metode dimana kelas secara implisit atau eksplisit memecah data yang disimpan dalam instance kelas menjadi nilai hash tunggal, yang merupakan integer bertanda 32 bit. Itu perbedaan utama antara equals dan hashCode di Jawa Apakah itu equals digunakan untuk membandingkan dua objek sedangkan kode hash digunakan dalam hashing untuk memutuskan kelompok mana objek harus dikategorikan ke dalam.

ISI

1. Ikhtisar dan Perbedaan Utama
2. Apa yang sama dengan di Jawa
3. Apa itu kode hash di Jawa
4. Perbandingan Berdampingan - sama dengan hashCode di Jawa dalam Bentuk Tabular
5. Ringkasan

Apa yang sama dengan di Jawa?

Metode equals digunakan untuk membandingkan dua objek. Metode equals default didefinisikan dalam kelas objek. Implementasi itu mirip dengan operator ==. Referensi dua objek sama hanya jika mereka menunjuk ke objek yang sama. Dimungkinkan untuk mengganti metode equals.

Gambar 01: Program Java dengan equals

Pernyataan System.out.println (s1.equals (s2)) akan memberikan jawaban salah karena s1 dan s2 merujuk pada dua objek yang berbeda. Itu mirip dengan pernyataan, System.out.println (s1 == s2);

Pernyataan System.out.println (s1.equals (s3)) akan memberikan jawaban yang benar karena s1 dan s3 merujuk ke objek yang sama. Itu mirip dengan pernyataan, System.out.println (s1 == s3);

Tidak ada metode yang sama dengan di kelas Siswa. Oleh karena itu, sama dengan di kelas Obyek disebut. True ditampilkan hanya jika referensi objek menunjuk ke objek yang sama.

Gambar 02: Program Java dengan Override sama dengan

Menurut program di atas, metode equals diganti. Objek diteruskan ke metode, dan itu tipe dicor ke Siswa. Kemudian, nilai id diperiksa. Jika nilai id serupa, itu akan mengembalikan true. Jika tidak, itu akan mengembalikan false. Id dari s1 dan s2 serupa. Jadi, itu akan mencetak benar. Id dari s1 dan s3 juga serupa, sehingga akan mencetak true.

Apa itu kode hash di Jawa?

Kode hash digunakan dalam hashing untuk memutuskan ke grup mana suatu objek harus dikategorikan. Sekelompok objek dapat berbagi kode hash yang sama. Fungsi hashing yang benar dapat mendistribusikan objek secara merata ke grup yang berbeda.

Kode hash yang benar dapat memiliki properti sebagai berikut. Asumsikan ada dua objek sebagai objek1 dan objek2. Jika obj1.equals (obj2) benar, maka obj1.hashCode () sama dengan obj2.hashCode (). Jika obj1.equals (obj2) salah, tidak perlu obj1.hashCode () tidak sama dengan obj2.hashCode (). Dua objek yang tidak sama mungkin juga memiliki kode hash yang sama.

Gambar 03: Kelas siswa dengan equals dan kode hash

Gambar 04: Program Utama

Kelas Siswa berisi metode equals dan hashCode. Metode sama dengan di kelas Siswa akan menerima objek. Jika objeknya null, itu akan mengembalikan false. Jika kelas objek tidak sama, itu akan mengembalikan false. Nilai id diperiksa di kedua objek. Jika mereka serupa, itu akan mengembalikan true. Kalau tidak akan kembali palsu.

Dalam program utama, objek s1 dan s2 dibuat. Saat memanggil s1.equals (s2) akan memberikan true karena metode equals ditimpa dan memeriksa nilai id dari dua objek. Meskipun mereka merujuk ke dua objek, jawabannya benar karena nilai id dari s1 dan s2 adalah sama. Karena s1.equals (s2) benar, kode hash dari s1 dan s2 harus sama. Mencetak kode hash dari s1 dan s2 memberikan nilai yang sama. Metode hashCode dapat digunakan dengan Koleksi seperti HashMap.

Apa Perbedaan Antara sama dan kode hash di Jawa?

sama dengan hashCode di Jawa

equals adalah metode di Jawa yang bertindak mirip dengan operator ==, yang menguji untuk objek identitas daripada kesetaraan objek. hashCode adalah metode dimana kelas secara implisit atau eksplisit memecah data yang disimpan dalam instance dari kelas menjadi nilai hash tunggal.
 Pemakaian
Metode equals digunakan untuk membandingkan dua objek. Metode ini digunakan dalam hashing untuk memutuskan kelompok mana objek harus ditempatkan.

Ringkasan - sama dengan vs hashCode di Jawa

Perbedaan dalam equals dan kode hash di Jawa adalah bahwa equals digunakan untuk membandingkan dua objek sedangkan kode hash digunakan dalam hashing untuk memutuskan kelompok mana objek harus dikategorikan menjadi.

Referensi:

1. "Java HashCode ()." Wikipedia, Wikimedia Foundation, 17 Feb. 2018. Tersedia di sini 
2. Harold, Elliotte Rusty. "Metode Persamaan ()." The Equals () Method, 2 November 2001. Tersedia di sini