hashCode 메서드


<aside> 🪄

예제


Integer i = 10;
        String strA = "A";
        String strAB = "AB";
        System.out.println(i.hashCode());
        System.out.println(strA.hashCode());
        System.out.println(strAB.hashCode());
        
출력
10
65
2081

</aside>

예제2


<aside> 🔎

package collection.set.member;

import java.util.Objects;

public class Member {

    private String id;

    public Member(String id) {
        this.id = id;
    }

    public String getId() {
        return id;
    }

    @Override
    public boolean equals(Object o) {
        if (o == null || getClass() != o.getClass()) return false;
        Member member = (Member) o;
        return Objects.equals(id, member.id);
    }

    @Override
    public int hashCode() {
        return Objects.hashCode(id);
    }

    @Override
    public String toString() {
        return "Member{" +
                "id='" + id + '\\'' +
                '}';
    }
}
---------------------
Member member1 = new Member("idA");
        Member member2 = new Member("idA");

        System.out.println(member1 == member2);
        System.out.println(member1.equals(member2));
        System.out.println(member1.hashCode());
        System.out.println(member2.hashCode());

출력
false
true
104070
104070
//해시코드 계산 법은 위와 동일한 공식을 이용하여 출력된 값

image.png

image.png

image.png