[Java] 17.3.1. Object 메서드 - HashCode()

김주희's avatar
Feb 26, 2025
[Java] 17.3.1. Object 메서드 - HashCode()

1. Hash 개념

notion image
 

2. Hash 기초 알고리즘

package ex17; public class Ha01 { public static int simpleHash(String key, int tableSize) { int hash = 0; for (char c : key.toCharArray()) { // 우변에 있는 배열의 크기만큼 반복 hash += c; // 각 문자의 ASCII 값을 더함 } return hash % tableSize; // 테이블 크기로 나눈 나머지를 해시 값으로 사용 } public static void main(String[] args) { String key1 = "apple"; String key2 = "banana"; int tableSize = 10; // 해시 테이블 크기 System.out.println("apple의 해시 값: " + simpleHash(key1, tableSize)); System.out.println("banana의 해시 값: " + simpleHash(key2, tableSize)); } }
package ex17; class Animal {} public class Ha02 { public static void main(String[] args) { Animal a1 = new Animal(); // Animal의 heap 시작 주소 번지를 hash Animal a2 = new Animal(); // 다른 주소 번지니까 다른 값이 나와야 됨. // 타입은 같지만 공간은 다름 System.out.println(a1.hashCode()); //Object가 들고 있는 함수 System.out.println(a2.hashCode()); } }
Share article

jay0628