본문 바로가기
국비학원

[국비지원] KH 정보교육원 47일차 (2/2)

by 도전하는 개발자 2022. 6. 1.


검색 기능을 강화시킨 컬렉션 (계층 구조 활용)
TreeSet, TreeMap -> 이진트리(binary tree) 사용하기 때문에 검색 속도 향상

이진 트리 구조
부모 노드와 자식 노드로 구성
왼쪽 자식 노드: 부모 보다 적은 값
오른쪽 자식 노드: 부모 보다 큰 값

정렬 쉬움
올림 차순: [왼쪽노드→부모노드→오른쪽노드]
내림 차순: [오른쪽노드→부모노드→왼쪽노드]



TreeSet
특징
이진 트리(binary tree)를 기반으로 한 Set  컬렉션
왼쪽과 오른쪽 자식 노드를 참조하기 위한 두 개의 변수로 구성

주요 메소드
특정 객체를 찾는 메소드: first(), last(), lower(), higher(), …
정렬 메소드: descendingIterator(), descendingSet()
범위 검색 메소드: headSet(), tailSet, subSet()


특정 객체 찾기

 

객체 정렬하기

 

영어 단어 정렬 후 범위 검색하기




TreeMap
특징
이진 트리(binary tree) 를 기반으로 한 Map  컬렉션
키와 값이 저장된 Map.Entry를 저장
왼쪽과 오른쪽 자식 노드를 참조하기 위한 두 개의 변수로 구성

주요 메소드
단일 노드 객체를 찾는 메소드: firstEntry(), lastEntry(), lowerEntry(), higherEntry(), …
정렬 메소드: descendingKeySet(), descendingMap()
범위 검색 메소드: headMap(), tailMap, subMap()

특정 Map.Entry 찾기

 

 

객체 정렬하기

 

 

키로 정렬하고 범위 검색하기