TreeSet

자료구조 & 알고리즘

[JAVA/자료구조] TreeSet : 정렬을 지원하는 Set

TreeSet TreeSet은 HashSet과 마찬가지로 Set 컬렉션 중 하나이다. 그러나 TreeSet 이진탐색트리(BinarySearch Tree)의 구조로 되어있어, 데이터를 넣을 때 자동으로 정렬된다. 따라서 TreeSet은 일반적인 Set보다 데이터 추가, 삭제에는 시간이 오래 걸리지만 정렬되어 저장된다는 점 때문에 조회가 빠르다. 기본적으로 오름차순 정렬을 지원하지만, 생성자의 매개변수로 Comparator 클래스를 구현하여 넣어주면, 정렬 방법도 설정할 수 있다. TreeSet의 구현 레드 - 블랙 트리(Red - Black - Tree) TreeSet은 이진탐색트리의 문제점을 보완한 균형이진탐색 트리 중 하나인 레드-블랙 트리를 사용한다. 이진탐색트리는 데이터가 한쪽으로 치우쳐져 들어올 ..

자료구조 & 알고리즘

[JAVA/자료구조] HashSet

HashSet이란? HashSet은 Set 인터페이스를 구현한 클래스이며, 기초수학에서 집합과 같은 개념이다. 특이하게 합집합, 차집합, 교집합 등의 연산을 할 수 있다. List와 차이점은 중복을 허용하지 않는다는 점과, 인덱스(index)로 데이터를 다루지 않는다는 점이 있다. 가장 중요한 것은 역시 중복을 허용하지 않는다는 점인것 같다. HashSet 생성자 Set 인터페이스를 구현한 클래스이니 Set 형으로 선언해 줄 수 있다. 제네릭을 이용하여 데이터타입을 정의해주는 것이 좋다. HashSet set = new HashSet(); Set set = new HashSet(); 생성할 때 배열을 List로 변환하여 넣어주거나, List를 넣어서 생성할 수도 있다. Set setA = new Hash..

HSRyuuu
'TreeSet' 태그의 글 목록