16.2 집합(Set)
집합은 요소의 순서를 상관하지 않고 저장한느 컬렉션을 말하며 이를 위해 Set 인터페이스를 구현하고 있다.
집합(Set)의 특징
1. 요소는 중복될 수 없다.
2. 순서가 있을 수도 있다.
3. 정렬될 수도 있다.
집합Set 구현 클래스
Set인터페이스를 구현하는 클래스에는 HashSet, LinkedHashSet, TreeSet가 있다.
HashSet | LinkedHashSet | TreeSet |
빠른 접근속도 중복 허용하지 않음 순서 제공하지 않음 | 중복 허용하지 않음 삽입 순서에 의해 반복 | 중복 허용하지 않음 정렬된 순서에 의해 반복 |
여기서 말하는 중복 허용하지 않음은 이미 존재하는 요소를 다시 추가하더라도 이 요소가 두개 존재하지 않는다는 것을 의미함
집합 인터페이스 메소드
boolean
add(Object o)
지정된 요소가 집합에 포함되어 있지 않다면 추가한다.
void
clear()
집합의 모든 요소들을 제거한다.
boolean
contains(Object o)
집합이 지정된 요소를 포함하고 있다면 true를 반환한다.
boolean
equals(Object o)
지정된 객체가 리스트와 동일한지 비교한다.
boolean
isEmpty()
집합이 요소를 하나도 포함하고 있지 않다면 true를 반환한다.
boolean
remove(Object o)
집합에서 지정된 요소를 제거한다.
int
size()
집합의 크기를 반환한다.
Object[]
toArray()
집합에 포함된 모든 요소를 배열로 반환합니다.
HashSet 예제
import java.util.Set;
import java.util.HashSet;
import java.util.Iterator;
public class test{
public static void main(String args[]){
set<String> set = new HashSet<String>();
set.add("1");
set.add("2");
set.add("3");
set.add("4");
for(Iterator i = set.iterator(); i.hasNext();){
System.out.println(i.next());
}
}
}
TreeSet 클래스 예제
import java.util.Set;
import java.util.TreeSet;
import java.util.Iterator;
public class Test{
public static void main(String main[]){
set<String> set = new TreeSet<String>();
set.add("4");
set.add("3");
set.add("2");
set.add("1");
for(Iterator i = set.iterator(); i.hasNext();){
System.out.println(i.next());
}
}
}
'Programming > Java' 카테고리의 다른 글
JAVA File 삭제 (폴더 안의 파일 모두 삭제) (0) | 2016.12.20 |
---|---|
JSONArray key값 추출해서 사용하기 (0) | 2016.12.05 |
Java 디자인패턴 Builder Pattern (빌더패턴) (0) | 2016.12.05 |
자바 foreach (0) | 2016.11.21 |
문자열 쪼개기 indexOf, lastIndexOf, substring (0) | 2016.11.21 |