[JAVA] TreeMap

2021. 11. 8. 23:41·JAVA
728x90

TreeMap

  • 레드-블랙 트리 기반으로한 Map 컬렉션
  • 내부 값들을 Key값을 기준으로 정렬하여 가지고 있음
  • HashMap보다 추가 삭제시 오래걸리나, 정렬된 데이터를 조회해야하는 범위 검색이 필요한 경우에는 효율적임

레드-블랙 트리

https://ko.wikipedia.org/wiki/%EB%A0%88%EB%93%9C-%EB%B8%94%EB%9E%99_%ED%8A%B8%EB%A6%AC

  • 이진탐색트리의 문제점을 보완한 자료구조
  • 이진탐색트리 같은 경우 한쪽으로 데이터의 값이 편향되게 들어갈 경우 굉장히 비효율적인 퍼포먼스를 냄
  • 레드와 블랙으로 노드 색깔을 칠하고 부모노드보다 작은 값을 왼쪽, 큰 값을 가지면 오른쪽으로 배치하여 데이터 삽입과 삭제시 한쪽으로 치우치지 않도록 재배치와 다시칠하기 과정을 통해 균형을 맞춰줌

TreeMap 예제

TreeMap<Integer, String> map = new TreeMap<>();
map.put(3, "value");
map.put(7, "value");
map.put(8, "value");
map.put(9, "value");
map.put(50, "value");
map.put(11, "value");
map.put(5, "value");
map.put(76, "value");
map.put(100, "value");
map.put(99, "value");

// 결과 : [3, 5, 7, 8, 9, 11, 50, 76, 99, 100]
System.out.println(map.keySet());
저작자표시

'JAVA' 카테고리의 다른 글

[JAVA] 템플릿 메소드 패턴  (0) 2021.11.29
[JAVA] 전략패턴  (0) 2021.11.29
[JAVA] Junit5  (0) 2021.10.13
[JAVA] DBCP (DB Connection Pool)  (0) 2021.07.18
[JAVA] Stack / Deque  (0) 2021.07.16
'JAVA' 카테고리의 다른 글
  • [JAVA] 템플릿 메소드 패턴
  • [JAVA] 전략패턴
  • [JAVA] Junit5
  • [JAVA] DBCP (DB Connection Pool)
집한구석
집한구석
  • 집한구석
    tgyun615.info
  • 전체
    오늘
    어제
    • 카테고리 (183)
      • JAVA (38)
      • SPRING (15)
      • KOTLIN (23)
      • NETTY (1)
      • DEVOPS (3)
      • DOCKER (7)
      • KUBERNETES (2)
      • JAVASCRIPT (1)
      • SPLUNK (3)
      • ELK (7)
      • KAFKA (2)
      • GO (4)
      • ALGORITHM & DATA STRUCTURE (9)
      • IDE (5)
      • OS (16)
      • NETWORK (14)
      • GCP (2)
      • AWS (2)
      • DATABASE (10)
      • CLEANCODE (7)
      • OTHER (12)
  • 최근 글

  • 태그

    cleancode
    이펙티브 코틀린
    splunk
    SQL
    JPA
    클린코드
    프로그래머스
    AWS
    IntelliJ
    Kafka
    go
    이펙티브코틀린
    Elk
    ElasticSearch
    docker
    자바
    코틀린
    java
    Spring
    엘라스틱서치
  • 링크

    • github
    • linkedin
    • resume
  • hELLO· Designed By 정상우. v4.10.3
집한구석
[JAVA] TreeMap
상단으로

티스토리툴바