1. LinkedHashSet이란?
Set인터페이스를 구현하고 Hash Set클래스를 상속받은 Linked List입니다.
2. 특징
- iteration 작업을 할 경우, Set에 삽입된 순서대로 접근합니다.
- 데이터 중복을 허용하지 않으며, 중복 입력을 할 경우 나중에 입력된 데이터는 입력되지 않습니다.
- null element를 허용합니다.
- Performance는 HashSet보다 약간 떨어집니다.
하지만, initial capacity값을 지나치게 크게 잡았을 경우에는 HashSet보다는 Performance가 좋습니다.
- initial capacity, load factor를 가집니다.
(설명: http://developer-syubrofo.tistory.com/7?category=775478)
- 동기화가 되지 않습니다.
동기화가 되는 Set객체를 사용하려면 아래와 같이 생성해야 합니다.
Set s = Collections.synchronizedSet(new LinkedHashSet(...));
- iterator()메소드를 호출하여 iterator 객체를 가져온 후에는 Set객체의 데이터를 수정할 경우 ConcurrentModificationException 에러가 발생합니다.
3. 생성자
//1st Constructor
LinkedHashSet<Double> set1 = new LinkedHashSet<Double>();
//2st Constructor
LinkedHashSet<Double> set2 = new LinkedHashSet<Double>(set1);
//3st Constructor
LinkedHashSet<Double> set3 = new LinkedHashSet<Double>(10);
//4st Constructor
LinkedHashSet<Double> set4 = new LinkedHashSet<Double>(10, 0.75f);
첫번째 생성자는 기본생성자로써 initial capacity(16), load factor(0.75)를 갖는 빈 LinkedHashSet객체를 생성합니다.
두번째 생성자는 매개변수로 입력된 Collection객체의 원소들과 동일 원소들을 갖는 LinkedHashSet객체를 생성합니다.
세번째 생성자는 매개변수로 입력된 initialCapacity와 load factor(0.75)를 갖는 빈 LinkedHashSet객체를 생성합니다.
네번재 생성자는 매개변수로 입력된 initialCapacity, load factor를 갖는 빈 LinkedHashSet객체를 생성합니다.
4. 메소드
HashSet과 동일합니다.
http://developer-syubrofo.tistory.com/32?category=775478
더 많은 내용을 보시려면 아래를 참고하세요.
블로그의 다른 글
'[개발] 언어 > Java' 카테고리의 다른 글
lang package - String 사용하는 방법 (0) | 2017.11.19 |
---|---|
List - LinkedList 사용하는 방법 (0) | 2017.11.18 |
Set - HashSet 사용하는 방법 (0) | 2017.11.14 |
Map - Hashtable 사용하는 방법 (0) | 2017.11.09 |
Map - LinkedHashMap 사용하는 방법 (0) | 2017.11.05 |