1. Set 인터페이스란?
: 순서와 상관없이 중복을 허용하지 않는 경우에는 Set 인터페이스를 구현한 클래스를 사용한다. 우리가 사용하는 데이터 중에 중복을 허용하지 않는 데이터는 어떤 것이 있을까? 회원 아이디, 주민등록번호, 사번 등은 중복되면 안 될 것이다. Set 인터페이스를 구현한 대표 클래스에는 HashSet와 LinkedSet, 그리고 TreeSet이 있다.
오늘 포스팅에서는 import를 사용하여 각각의 Set 인터페이스를 구현해 보도록 하겠다.
2. HashSet
- 중복 데이터 허용 안 함
- 정렬되지 않음
- null 삽입 허용
ex)
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
HashSet<String> hashSet = new HashSet<String>();
hashSet.add("JAVA");
hashSet.add("JavaScript");
hashSet.add("HTML");
hashSet.add("CSS");
hashSet.add("JAVA");
Iterator<String> iter = hashSet.iterator();
while(iter.hasNext()) {
String next = iter.next();
System.out.println(next + "(" + next.hashCode() + ")" );
}
}
}
[출력값]
3. LinkedHashSet
- 입력된 순서대로 데이터 관리
- 중복 데이터 허용 안 함
ex)
import java.util.LinkedHashSet;
public class Main {
public static void main(String[] args) {
LinkedHashSet<Integer> lhs = new LinkedHashSet<Integer>();
lhs.add(10);
lhs.add(3);
lhs.add(15);
lhs.add(10);
lhs.add(3);
Iterator<Integer> iter = lhs.iterator();
while (iter.hasNext()) {
System.out.println(iter.next());
}
}
}
[출력값]
4. TreeSet
- 기본적으로 오름차순으로 데이터를 정렬
- 데이터 중복 역시 허용 안 함
ex)
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
TreeSet<Integer> treeSet = new TreeSet<Integer>();
treeSet.add(10);
treeSet.add(5);
treeSet.add(8);
treeSet.add(5);
System.out.println(treeSet);
}
}
[출력값]
'JAVA' 카테고리의 다른 글
자바_Map 인터페이스 (0) | 2022.03.04 |
---|---|
자바_Priority Queue (0) | 2022.03.02 |
자바_Queue (0) | 2022.02.28 |
자바_Stack (0) | 2022.02.25 |
자바_Linked List (0) | 2022.02.24 |