Java

Java_컬렉션 자료구조_Map 컬렉션

ssmm95 2024. 10. 17. 17:56

Map 컬렉션 

: 키(key)와 값(value) 으로 구성된 엔트리(entry) 객체를 저장하는 자료구조이다

중복된 키를 허용하지 않고 각 키는 하나의 값과 연결된다 

 

 
구현 클래스 특징 정렬 여부 속도 Null 허용 여부
HashMap 해시 테이블 기반, 키-값 쌍 저장 정렬되지 않음 검색/삽입/삭제: O(1) 평균 null 키와 값 허용
TreeMap 키의 자연 순서 또는 사용자 정의 순서에 따라 정렬 오름차순 정렬 검색/삽입: O(log n) null 키 허용 안 함
LinkedHashMap 삽입 순서 또는 접근 순서 유지 삽입 순서 또는 접근 순서 검색/삽입/삭제: O(1) 평균 null 키와 값 허용
Hashtable 해시 테이블기반의 동기화된 구현, 스레드 안전 정렬되지 않음 검색/삽입/삭제:O(1) 평균 null 키와 값 허용 안 함

 

구분 메서드 설명
객체 추가 put(K key, V value) 키와 값을 추가하며, 동일한 키가 존재할 경우 값을 덮어쓴다
putAll(Map m) 다른 Map의 모든 키-값 쌍을 현재 Map에 추가한다
객체 검색


V get(Object key) 지정한 키에 해당하는 값을 반환합니다. 키가 존재하지 않으면 null을 반환한다
boolean containsKey(Object key) 특정 키가 Map에 존재하는지 확인하고, 존재하면 true를 반환한다
boolean containsValue(Object value) 특정 값이 Map에 존재하는지 확인하고, 존재하면 true를 반환한다
keySet() 모든 키를 Set으로 반환한다
Collection<V>values() 모든 값을 Collection으로 반환한다
Set<Map.Entry<K,V>>entrySet() 키-값 쌍을 Set<Map.Entry<K,V>> 형태로 반환하여 반복할 수 있다
int size<> 저장된 키의 총 수를 반환
boolean isEmpty() 컬렉션이 비어있는지 여부
객체 삭제 V remove(Object key) 특정 키와 그에 해당하는 키-값 쌍을 제거합니다. 키가 없으면 아무 작업도 수행하지 않는다
void clear() Map의 모든 객체를 제거한다

 

 

- Properties 클래스는 map 인터페이스를 구현한 특수한 혀애의 Hashtable 이다 

주로 애플리케이션의 설정 값이나 구성 파일을 관리할 때 사용된다 

Properties 클래스는 키와 값이 모두 String(문자열) 로 제한되어있다 

주로 확장자가 .properties인 프로퍼티 파일을 읽을 때 사용한다