본문 바로가기
자바 풀스택 공부

Day 21.

by seung_nari 2022. 1. 28.

hashCode( )

이 메서드는 해싱(hashing)기법에 사용되는 '해시함수(hash function)'를 구현한 것이다.

해싱은 데이터관리기법 중의 하나인데 다량의 데이터를 저장하고 검색하는 데 유용하다.

 

해시함수는 찾고자하는 값을 입력하면, 그 값이 저장된 위치를 할려주는 해시코드를 반환한다.

 

import java.util.HashMap;

public class AddrTest {
	public static void main(String[] args) {
		Addr a1 = new Addr(1, "1길동", "영등포");
		Addr a2 = new Addr(2, "2길동", "당산");
		Addr a3 = new Addr(1, "1길동", "영등포");
		
		System.out.println(a1.equals(a2));
		System.out.println(a1 == a2);
		
		System.out.println(a1.equals(a3));
		System.out.println(a1 == a3);
		
		HashMap<String, String> map = new HashMap<String, String>();
		map.put("가", "abcd");
		map.put("나", "1234");
		map.put("kor", "100");
		map.put("eng", "90");
		System.out.println(map);
		
		System.out.println(map.get("가"));
		
		System.out.println("=========");
		
		System.out.println(a1);
		System.out.println(a1.hashCode());
		System.out.println(String.format("%x", a1.hashCode()));
	}
}

class Addr{ // address
	int no;
	String name;
	String addr;
	
	public Addr(int no, String name, String addr) {
		this.no = no;
		this.name = name;
		this.addr = addr;	
	}

	@Override
	public boolean equals(Object obj) {
		return obj != null && obj instanceof Addr && no == ((Addr)obj).no && name.equals(((Addr)obj).name);
//		return no == ((Addr)obj).no;
	}	
}

'자바 풀스택 공부' 카테고리의 다른 글

Day23.  (0) 2022.02.03
Day 22.  (0) 2022.01.28
Day 20.  (0) 2022.01.28
2차원 ArrayList  (0) 2022.01.28
Day 15.  (0) 2022.01.19

댓글