English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
해시셋과 트리셋은 모두 컬렉션 프레임워크에 속합니다. HashSet은 Set 인터페이스의 구현이며, TreeSet은 정렬된 집합을 구현합니다. TreeSet은 TreeMap을 지원하며, HashSet은 해시맵을 지원합니다
순서 | 키 | 해시셋 | 트리셋 |
---|---|---|---|
1 | 구현 | 해시셋은 해시테이블을 사용하여 구현됩니다 | 트리셋은 트리 구조를 사용하여 구현됩니다 |
2 | 공백 객체 | HashSet은 하나의 공백 객체를 허용합니다 | 트리셋은 공백 객체를 사용할 수 없습니다. null 포인터 예외를 던집니다 |
3 | 메서드 | 해시셋은 두 객체를 비교하기 위해 equals 메서드를 사용합니다 | 트리셋은 두 객체를 비교하기 위해 비교 메서드를 사용합니다 |
4 | 혼합 객체 | 현재 해시셋은 혼합 객체를 사용할 수 없습니다 | 트리셋은 혼합 객체를 허용합니다 |
5 | 주문 | HashSet은 어떤 순서도 유지하지 않습니다 | TreeSet은 객체의 정렬 순서를 유지합니다 |
class TreeSetExmaple { public static void main(String[] args){ TreeSet<String> treeset = new TreeSet<String>(); treeset.add("Good"); treeset.add("For"); treeset.add("Health"); //중복 요소 추가 treeset.add("Good"); System.out.println("TreeSet : "); for (String temp : treeset) { System.out.println(temp); } } }
출력 결과
TreeSet: Health For Good
class HashSetExample { public static void main(String[] args){ HashSet<String> hashSet = new HashSet<String>(); hashSet.add("Good"); hashSet.add("For"); hashSet.add("Health"); //중복 요소 추가 hashSet.add("Good"); System.out.println("HashSet: "); for (String temp : hashSet) { System.out.println(temp); } } }
출력 결과
TreeSet: Health Good For