ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 컬렉션 Map - TreeMap
    백엔드/자바 2020. 8. 17. 01:45

    TreeMap이란?

    TreeMap은 Map 인터페이스를 구현한 클래스다.

     

    TreeMap은 키(key), 값(value)로 이뤄진 Entry객체를 이진탐색트리 형태로 저장한다.

     

    TreeSet과의 차이라면,

     

    TreeSet은 일반객체를 저장하고 TreeMap은 Entry객체를 저장한다.

     

    HashMap과의 차이라면,

     

    HashMap은 해싱을 통해 해시테이블(배열+연결리스트) 형태로 Entry객체를 저장한다.

     

    반면, TreeSet은 이진 탐색 트리 형태로 Entry객체를 저장한다.

     

    일반 탐색은 HashMap이 TreeMap에 비해 유리하고, TreeMap은 범위탐색, 정렬에 유리하다.

    TreeMap사용하기

    TreeMap은 이전에 올린 HashMap과 큰 차이가 없다.

     

    또한 이진 탐색 트리로 자료가 저장되므로, 범위 검색 관련 메서드를 제공한다.

     

     

     

    put()메서드를 이용하면 위와 같이 자료 추가가 가능하다.

     

    put() 메서드를 이용할 때는 키, 값을 동시에 입력해줘야 한다.

     

     

     

     

    remove()메서드를 이용하면서 키(key)를 입력하면 해당 키를 가진 객체가 삭제된다.

     

     

     

     

    get()메서드는 키(key)를 입력하면 값(value)를 반환한다.

     

    entrySet()은 entry 객체의 키,값을 Set 자료형으로 반환한다.

     

    keySet()은 entry 객체의 키(key)를 자료형으로 반환한다.

     

    value()는 entry 객체의 값(value)를 반환한다.

     

     

     

     

    headMap(), tailMap(), subMap()은 범위 검색을 지원하는 메서드다.

     

    headMap()은 첫 요소에서 사용자가 입력한 인덱스 범위 안에 속한 객체를 반환한다.

     

    이때 사용자가 입력한 인덱스 전까지의 객체만 포함한다.

     

    tailMap()은 사용자가 입력한 인덱스에서부터 마지막 요소까지 객체를 반환한다.

     

    이 경우에는 headMap()과 달리 인덱스 범위의 객체까지 포함한다.

     

    subMap은 두 개의 숫자를 입력해서 그 사이의 객체를 반환한다.

     

    이 경우 오른쪽 인덱스 숫자는 범위안에 포함되지 않고 그 전까지 객체가 반환된다.

    '백엔드 > 자바' 카테고리의 다른 글

    컬렉션 - iterator, Listiterator, Enumeration  (0) 2020.08.17
    컬렉션 - MAP 출력 방법  (0) 2020.08.17
    컬렉션 Map - HashMap  (0) 2020.08.17
    컬렉션 Set - TreeSet  (0) 2020.08.16
    컬렉션 Set - HashSet  (0) 2020.08.16
Designed by Tistory.