Map
: Map은 키-값(key-value)쌍으로 데이터를 저장하는 인터페이스이다.
- 데이터를 저장하고 검색하는데 사용된다.
- 각각의 키는 유일해야 한다.
[ Map 인터페이스의 주요 메서드 ]
1. 객체 추가 기능
- put(K key, V value): 주어진 키와 값을 추가, 정상적으로 저장되면 그 값(value)를 리턴.
2. 객체 검색 기능
- containsKey(Object Key): 주어진 키가 있는지의 여부를 확인.
- containsValue(Object value): 주어진 값이 있는지의 여부를 확인.
- get(Object key): 주어진 키에 들어있는 값을 리턴한다. 없을 경우 null 반환
- isEmpty(): 컬렉션이 비어있는지의 여부를 확인. - size(): 저장된 키의 총 수를 리턴. - values(): 저장된 모든 값을 컬렉션에 담아서 리턴.
- keySet(): 저장된 모든 키를 Set객체에 담아서 리턴.
- entrySet(): 키와 값의 쌍으로 구성된 모든 Entry객체를 Set에 담아서 리턴.
3. 객체 삭제 기능
- clear(): 모든 Entry를 삭제
- remove(Object key): 주어진 키와 일치하는 Entry객체를 삭제.
HashMap
: HashMap은 Map 인터페이스를 구현한 대표적인 Map 컬렉션이다.
- Key-Value Pair:
- HashMap은 키(key)와 값(value)으로 이루어진 데이터를 저장한다. 각 키는 유일해야 하며, 각 키에 대응하는 값은 중복되어도 된다.
- 해시 함수 이용:
- 내부에서 해시 함수를 사용하여 키를 해시값으로 변환하고, 해당 해시값을 기반으로 데이터를 저장하고 검색한다. 이를 통해 빠른 검색 성능을 제공한다.
- Null 허용:
- HashMap은 키와 값으로 null을 허용한다. 즉, null 값을 키 또는 값으로 사용할 수 있다.
- 동기화 지원하지 않음:
- HashMap은 스레드 안전성을 보장하지 않는다. 따라서 멀티스레드 환경에서 동시에 수정하는 경우 외부에서 동기화를 해주어야 한다.
- 순서 보장하지 않음:
- HashMap은 삽입 순서나 특정 기준에 따라 정렬되지 않는다.
예제
'LANG.. > JAVA' 카테고리의 다른 글
[객체지향] SOLID 설계원칙 (0) | 2024.02.02 |
---|---|
Set - HashSet (0) | 2024.01.26 |
Generic, Collection (1) | 2024.01.23 |
List - ArrayList, LinkedList (0) | 2024.01.23 |
StringBuffer/StringBuilder, BufferedReader/BufferedWriter (0) | 2024.01.19 |