본문 바로가기

LANG../JAVA

Map - HashMap

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 컬렉션이다.

  1. Key-Value Pair:
    • HashMap은 키(key)와 값(value)으로 이루어진 데이터를 저장한다. 각 키는 유일해야 하며, 각 키에 대응하는 값은 중복되어도 된다.
  2. 해시 함수 이용:
    • 내부에서 해시 함수를 사용하여 키를 해시값으로 변환하고, 해당 해시값을 기반으로 데이터를 저장하고 검색한다. 이를 통해 빠른 검색 성능을 제공한다.
  3. Null 허용:
    • HashMap은 키와 값으로 null을 허용한다. 즉, null 값을 키 또는 값으로 사용할 수 있다.
  4. 동기화 지원하지 않음:
    • HashMap은 스레드 안전성을 보장하지 않는다. 따라서 멀티스레드 환경에서 동시에 수정하는 경우 외부에서 동기화를 해주어야 한다.
  5. 순서 보장하지 않음:
    • 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