2025/012 [Java] HashMap 저번 시간을 통해 hash 함수로 hashCode를 구하고, hashCode로 hashIndex를 구하는 과정을 대략적으로 보았습니다.실제 hashMap은 어떻게 구현 했는지 살펴 보겠습니다.key 값으로 String이 들어온 경우 hashCode를 어떻게 구하는지 알아 보겠습니다. [String hashCode]public static int hashCode(byte[] value) { int h = 0; int length = value.length >> 1; for (int i = 0; i String은 값 자리의 char값을 통해 hashCode를 구합니다.각자리의 char 값을 통해 hash를 누적 하며 31과 곱해 주는것을 볼수 있습니다.왜 31을 곱할까요?그 이유는 짝수를 .. 2025. 1. 23. [Java] Hash ( eqauls, hashCode ) [ equals / hashCode ] 해쉬 자료구조를 사용 하려면 equals, hashCode를 오버라이딩 해야 합니다.오버라이딩 하지 않으면 어떤 문제가 발생 하는지 알아 보겠습니다.회원 객체를 Set 자료구조에 저장 하는 예제 입니다.public class HashSetTest { public static void main(String[] args) { Set memberSet = new HashSet(); Member member1 = new Member("1번", 10); Member member2 = new Member("2번", 20); Member member3 = new Member("1번", 10); memberS.. 2025. 1. 17. 이전 1 다음