-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathHashcode.java
37 lines (32 loc) · 1.41 KB
/
Hashcode.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// Phương thức hashCode() trả về mã băm của đối tượng.
/*
* - Mã băm là một số nguyên duy nhất được tạo ra để đại diện cho một đối tượng.
* - Mã băm được sử dụng trong các cấu trúc dữ liệu như bảng băm.
* - Nếu hai đối tượng bằng nhau theo phương thức equals(Object), thì chúng phải có cùng một giá trị hash code.
* - Nếu hai đối tượng có hash code khác nhau, chúng không được coi là bằng nhau.
* - Nếu hai đối tượng có cùng hash code, chúng có thể bằng nhau hoặc không bằng nhau.
*/
// Ví dụ về phương thức hashCode():
class Laptop {
private String brand;
private String model;
private int price;
public Laptop(String brand, String model, int price) {
this.brand = brand;
this.model = model;
this.price = price;
}
@Override
public int hashCode() {
return brand.hashCode() + model.hashCode() + price;
}
}
public class Hashcode {
public static void main(String[] args) {
Laptop laptop1 = new Laptop("Dell", "Inspiron", 700);
Laptop laptop2 = new Laptop("Dell", "Inspiron", 700);
// So sánh hai đối tượng sử dụng hashCode().
// Kết quả sẽ là true vì hai đối tượng giống nhau.
System.out.println(laptop1.hashCode() == laptop2.hashCode()); // true
}
}