[JAVA] Map

myminimin·2023년 7월 31일
0

JAVA

목록 보기
13/21

Map이랑 HashMap이 무슨 차이인가도 생각해봤는데 Map은 interface고 HashMap은 Map을 구현하는 클래스였다. Map의 아래에 HashMap과 TreeMap, LinkedHaspMap 등이 있었던 것..

Map 이란?

  • 이전에 배운 List, Array과는 달리 Key와 Value 방식으로 저장하는 자료구조이다.

    1. 순차적으로 접근해서 값을 구하는 게 아니기 때문에 순서를 유지할 필요없고 Key 값을 통해서 Value 값을 얻는다
    2. Value은 중복이 허용되나 Key 값은 Unique 해야한다!
  • Map 구현 클래스
    1. HashMap/Hasptable : Map을 구현하는 대표 클래스, Key와 Value를 한 쌍으로 저장하는 특징이 있다. 많은 양의 데이터를 검색하는데 좋다.
    (Hashtable과 HashMap과의 차이점은 Thread-Safe인지 아닌지가 그 차이점인데 Hashtable은 동기화가 걸려있어서 Thread-Safe하다고 할 수 있으며 HashMap은 동기화가 없어 unsafe하다고 할 수 있다! Hashtable의 table은 소문자다! 주의!)

    2. TreeMap : Key와 Value를 이진트리 기법으로 저장한다. 데이터를 추가하거나 삭제하는데 속도가 좋고 Key로 정렬을 이용해 탐색하는데 좋다!

    3. LinkedHashMap : 데이터를 입력한 순서대로 저장해서 배열과 리스트처럼 인덱스로 접근하기 좋다.

  • Map 사용법
    java.util.HashMap 클래스를 Import하면 Map을 사용할 수 있다! (HashMap말고 TreeMap, LinkedHashMap도 가능하다)
    Map 자체로는 직접 생성해서 사용할 수 없고 클래스로 구현을 해줘야 사용이 가능하다.


공식 문서 ✔

Map

0개의 댓글