프로그래밍 언어/Java 프로그래밍
컬렉션 프레임워크(5) Set 인터페이스 - HashSet
by Hyeon_
2021. 11. 30.
컬렉션 프레임워크(Collection Framework)
Set 컬렉션
Set 인터페이스
- 수학의 집합에 비유
- 저장 순서가 유지되지 않음
- 객체 중복 저장 불가
- 구현 클래스: HashSet, LinkedHashSet, TreeSet
- 전체 클래스를 대상으로 한 번씩 반복해 가져오는 반복자(Iterator) 제공
- 인덱스로 객체를 검색해서 가져오는 메소드 없음
- get() 메소드 없음
HashSet 예제
HashSetEx.java
package set;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class HashSetEx {
public static void main(String[] args) {
Set<String> set = new HashSet<String>();
// 중복된 값은 한 번만 저장됨
set.add("Java");
set.add("JDBC");
set.add("Java");
set.add("Servelt/JSP");
set.add("MyBatis");
System.out.println("총 객체 수: "+set.size());
Iterator<String> iterator = set.iterator();
while(iterator.hasNext()) {
System.out.println(iterator.next());
}
set.remove("JDBC");
set.remove("MyBatis");
System.out.println();
for(String element : set) {
System.out.println(element);
}
set.clear();
if(set.isEmpty()) {
System.out.println("비어 있음");
}
}
}
Iterator
- java.util 패키지의 Iterator<E> 인터페이스
- 컬렉션 프레임워크에서 컬렉션에 저장된 요소들을 읽어 오는 방법을 표준화한 것
- 요소가 순서대로 저장된 컬렉션에서 요소를 순차적으로 검색할 때 사용
- 기본 형식
Vector<Integer> v = new Vector<Integer>();
Iterator<Integer> it = v.iterator();
- 벡터 v의 요소를 순차적으로 검색할 iterator 객체 변환
- it.hasNext( )
- it.next( )