Java(자바)

해쉬 테이블(Hashtable)

아롱사태남 2014. 3. 17. 13:18
반응형

해쉬 테이블은 배열처럼 여러 개의 데이터를 저장하는 자료 구조이다. 배열과 가장 큰 차이점은 크기가 고정되어 있지 않고 가변적이라는 것과

인덱스를 통한 접근이 아니라 키값을 이용해 특정 위치에 접근한다는 점이다.


ex) 

Hashtable ht = new Hashtable();    // 해쉬테이블 객체를 만든다.

ht.put("A1", new Integer(94));

ht.put("A2", new Integer(82));

ht.put("A3", new Integer(87));

.

.

System.out.println("A1=" + (Integer)ht.get("A1"));


put() 으로 값을 넣고 get()으로 값을 가져온다. 여기서 A1은 키값이고, 다른 하나는 실제 데이터가 된다. 즉 실제 데이터가 특정한 키값을 꼬리표가 가지고 저장되므로 

키값을 사용하여 데이터를 다룰 수 있게 된다.


그런데 주의할점은 Hashtable에 저장되는 키값과 데이터는 반드시 '객체'여야 한다. 그래서 직접 데이터 수치를 넣을 수가 없으므로 Integer(수치)의 형식으로 정수를 저장했고, 이를 자바에서는 "Wrapper 클래스를 사용한다"라고 한다. 출력문의 (Integer)는 캐스팅이다.

반응형