Perbedaan antara Equals dan HashCode di Java

Perbedaan antara Equals dan HashCode di Java

Perbedaan utama - sama VS HashCode In Jawa
 

Sama dengan operator ==, yaitu menguji identitas objek daripada kesetaraan objek. Kode hash adalah metode di mana kelas secara implisit atau eksplisit memecah data yang disimpan dalam instance kelas menjadi nilai hash tunggal, yang merupakan integer yang ditandatangani 32 bit. Itu perbedaan utama Antara setara dan kode hash dalam Jawa Apakah itu Equals digunakan untuk membandingkan dua objek saat kode hash digunakan dalam hashing untuk memutuskan kelompok mana suatu objek yang harus dikategorikan ke dalam.

ISI

1. Ikhtisar dan Perbedaan Utama
2. Apa yang sama di Java
3. Apa kode hash di java
4. Perbandingan berdampingan - sama dengan kode hash dalam java dalam bentuk tabel
5. Ringkasan

Apa yang sama di Java?

Metode Equals digunakan untuk membandingkan dua objek. Metode Default Equals didefinisikan di kelas objek. Implementasi itu mirip dengan operator ==. Dua referensi objek sama saja jika mereka menunjuk ke objek yang sama. Dimungkinkan untuk mengganti metode yang sama.

Gambar 01: Program Java dengan Equals

Sistem pernyataan.keluar.println (S1.Equals (S2)) akan memberikan jawaban yang salah karena S1 dan S2 mengacu pada dua objek yang berbeda. Itu mirip dengan pernyataan, sistem.keluar.println (S1 == S2);

Sistem pernyataan.keluar.println (S1.Equals (S3)) akan memberikan jawaban yang benar karena S1 dan S3 mengacu pada objek yang sama. Itu mirip dengan pernyataan, sistem.keluar.println (S1 == S3);

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

Gambar 02: Program Java dengan Equals Overdrident Equals

Menurut program di atas, metode yang sama ditimpa. Suatu objek diteruskan ke metode ini, dan itu tipe yang disampaikan kepada siswa. Kemudian, nilai ID diperiksa. Jika nilai ID serupa, itu akan mengembalikan true. Jika tidak, itu akan mengembalikan false. ID S1 dan S2 serupa. Jadi, itu akan mencetak true. ID S1 dan S3 juga serupa, jadi itu akan mencetak true.

Apa kode hash di java?

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

Kode hash yang benar dapat memiliki properti sebagai berikut. Asumsikan bahwa ada dua objek sebagai obj1 dan obj2. Jika Obj1.sama dengan (obj2) adalah benar, maka obj1.HashCode () sama dengan OBJ2.Kode hash(). Jika Obj1.Sama (obj2) salah, tidak perlu bahwa obj1.HashCode () tidak sama dengan OBJ2.Kode hash(). Dua objek yang tidak setara mungkin juga memiliki kode hash yang sama.

Gambar 03: Kelas Siswa dengan Equals dan HashCode

Gambar 04: Program Utama

Kelas Siswa berisi metode kode yang setara dan hash. Metode yang sama di kelas siswa akan menerima suatu objek. Jika objeknya nol, itu akan mengembalikan false. Jika kelas objek tidak sama, itu akan mengembalikan false. Nilai ID diperiksa di kedua objek. Jika mereka serupa, itu akan kembali benar. Kalau tidak, itu akan mengembalikan false.

Dalam program utama, objek S1 dan S2 dibuat. Saat menelepon S1.Equals (S2) akan memberikan True karena metode Equals ditimpa dan memeriksa nilai ID dari kedua objek tersebut. Meskipun mereka mengacu pada dua objek, jawabannya benar karena nilai ID S1 dan S2 adalah sama. Sebagai S1.Equals (S2) adalah benar, kode hash dari S1 dan S2 harus sama. Mencetak kode hash S1 dan S2 memberikan nilai yang sama. Metode HashCode dapat digunakan dengan koleksi seperti HashMap.

Apa perbedaan antara Equals dan HashCode di Java?

sama dengan kode hash di java

sama adalah metode dalam java yang bertindak mirip dengan operator ==, yaitu menguji identitas objek daripada kesetaraan objek. HashCode adalah metode di mana kelas secara implisit atau eksplisit memecah data yang disimpan dalam instance kelas menjadi nilai hash tunggal.
 Penggunaan
Metode sama digunakan untuk membandingkan dua objek. Metode ini digunakan dalam hashing untuk memutuskan kelompok mana objek yang harus ditempatkan.

Ringkasan -sama VS HashCode In Jawa

Perbedaan Equals dan HashCode di Java adalah bahwa Equals digunakan untuk membandingkan dua objek saat kode hash digunakan dalam hashing untuk memutuskan kelompok mana objek yang harus dikategorikan ke dalam.

Referensi:

1.“Java HashCode ().”Wikipedia, Wikimedia Foundation, 17 Feb. 2018. Tersedia disini 
2.Harold, Elliotte Rusty. “Metode Equals ().Metode Equals (), 2 Nov. 2001. Tersedia disini