TreeMap
by BBarkji
TreeMap?
- 이진트리를 기반으로 한 Map컬렉션 중 하나
- (키, 값) 으로 저장
- 저장과 동시에 자동으로 오름차순 정렬됨
- 문자 타입이라면 유니코드 기준 오름차순 정렬됨
- 즉시 정렬되기 때문에 추가, 삭제가 많은 경우 성능 저하
- 그냥 조회만 하는 경우라면 good
- 특히 범위 검색을 해야할 때 효율적인 자료구조
TreeMap 선언방법
// 교과서 같은 버전
TreeMap<Integer, Map<Integer, Integer>> treeMap = new TreeMap<Integer, Map<Integer, Integer>>();
// 생략 버전
TreeMap<Integer, Map<Integer, Integer>> treeMap1 = new TreeMap<>();
// 기존 트리맵 복사 버전
TreeMap<Integer, Map<Integer, Integer>> treeMap2 = new TreeMap<>(treeMap);
TreeMap 값 추가 방법
treeMap.put(추가할 값);
TreeMap 값 삭제 방법
// 키 1 값 삭제
treeMap,remove(1);
// 모든 값 제거
treeMap.clear;
TreeMap value 빼내기
int value;
// 키 1값의 value
value = treeMap.get(1);
// 최소 키
value = treeMap.firstKey();
// 최대 키
value = treeMap.lasKey();
// 최소 엔트리; 키=값
treeMap.firstEntry();
// 최대 엔트리; 키=값
treeMap.lastEntry();
TreeMap 객체 전체 반환하기
// for문 활용
for (Entry<Integer, Map<Integer, Integer>> entry: treeMap.entrySet()) {
System.out.println("Key:" + entry.getKey() + "Value:" + entry.getValue());
}
// Iterator 활용
Iterator<Entry<Integer, String>> entries = map.entrySet().iterator();
while(entries.hashNext()) {
Map.Entry<Integer, String> entry = entries.next();
System.out.println("Key:" + entry.getKey() + "Value:" + entry.getValues());
}
Subscribe via RSS