Set
순서 유지x, 데이터 중복 허용x
HashSet
가장 빠른 random access 속도내부적으로 Hashing을 이용해서 구현한 컬렉션
"데이터의 존재 유무가 중요할 때"
hashing: 원래의 데이터를 상징하는 더 짧은 길이의 값으로 변환하는 것. 이 값으로 검색을 수행하면 훨씬 더 빠른 속도를 낼 수 있음
LinkedHashSet
추가된 순서, 최근에 접근한 순서대로 접근 가능
Set 중 성능이 가장 느림
TreeSet
정렬된 순서 유지, 정렬 방법 지정 가능
red-black tree(이진 탐색 트리) 타입으로 값 저장, 성능이 느림
TreeSet<String> treeset=new TreeSet<String>();
treeset.add("apple");
treeset.add("banana");
treeset.add("cycle");
System.out.println(treeset.headSet("c"));
System.out.println(treeset.tailSet("a"));
'이론 > 알고리즘&자료구조&Java' 카테고리의 다른 글
[알고리즘] 순열 - java(백준 10972/10973/10974/1722) (0) | 2018.08.21 |
---|---|
[백준알고리즘] 11723: 집합 -Java (0) | 2018.08.16 |
[Java] String.format 에 대해 알아보자(백준 알고리즘 2439) (0) | 2018.08.16 |
[Algorithm] Dynamic Programming vs Memoization (0) | 2018.08.01 |
Array/Linked list/ Stack/ Queue/ Tree/ Graph/ Sorting/ Dynamic Programming (1) | 2018.07.19 |