HashMap을 구현한 클래스의 선언부는 다음과 같다.
HashMap은 Map 인터페이스의 해시 테이블에 근거한 구현이다. HashMap 클래스는 키와 값의 한 쌍으로 이루어진 클래스로 키를 값에 매핑하는 객체이다. 키에는 동일한 키를 복수로 등록할 수 없다. 또한 각 키에는 1개의 값만 매핑할 수 있다. 맵에 관련한 옵션의 연산자를 모두 지원하며 Null 값 및 Null 키를 사용할 수 있다. 또한, HashMap 클래스는 동기화되어 있지 않는다. HashTable 객체가 어플리케이션에서 적합한 거와 달리 HashMap 객체는 다중 사용자 환경에 적합한 클래스이다.
즉, 복수의 Thread가 동시에 이 맵에 액세스 할 수 있다. 따라서 한 개의 HashMap에 Thread가 한 개 이상의 맵을 변경할 경우에는 동기화시켜 사용해야 한다. 동기화시켜 사용하는 방법은 아래와 같다.
HashMap 생성자
HashMap 메소드)
void clear() : 모든 매핑을 맵으로부터 삭제
boolean containsKey(Object key) : 맵이 키를 보유하고 있을 경우 true를 반환
boolean containsValue(Object value) : 맵이 값을 보유하고 있을 경우 true를 반환
Object get(Object key) : 맵에 지정된 키의 값을 반환
Object put(Object key, Object value) : 지정된 값과 키를 매핑시킨다.
Object remove(Object key) : 키에 대한 매핑이 있으면, 그 키를 맵으로부터 삭제
Set keySet() : 맵에 있는 키 셋트를 반환
Collection values() : 값의 콜렉션을 반환
int size() : 맵 내의 키와 값의 매핑 수를 반환
사용예제)
HashMap<String, Integer> hashMap = new HaskMap<String, Integer>();
hashMap.put("person", 111);
hashMap.put("animal", 222);
Set<String> set = hashMap.keySet();
Object[] arr = set.toArray();
for ( int i = 0 ; i < arr.length ; i++ ) {
String name = arr[i];
int age = hashMap.get( arr[i] );
System.out.println( name + "/" + value );
}
HashMap은 키 값에 해당하는 값을 객체 타입으로 반환한다. 따라서 정수형을 값에 지정했다면 위와 같은 방법으로 정수형으로 변환을 시켜줘야 정수형 값을 사용할 수 있다.
'자바(Java) > JAVA 2SE' 카테고리의 다른 글
java.util.Iterator - 콜렉션 (0) | 2009.10.30 |
---|---|
java.util.HashTable - Hash 처리의 발전형 (0) | 2009.10.30 |
부호가 있는 텍스트형 실수를 실수형으로 변환시키기 (0) | 2009.10.13 |
Java Excel API의 포멧(데이터형식) (0) | 2009.09.10 |
엑셀 파일 수정 - Java Excel API 사용 (0) | 2009.09.10 |