set 자료구조 자체는 중복없고 순서가 없이 자료를 담는 구조이다.
아래와 같이 set interface를 선언하는데, 이때 활용할 자료구조는 HashSet()이다.
public class set{
public static void main(String[] args){
Set<String> set = new HashSet<>;
//이후 HashSet 자료구조에 활용되는 형태는 문자열만 가능하다.
set.add("Hello");
//공간 하나 사용하여 데이터 삽입
System.out.println(set);
//Hello 출력
}
}
위에서 선언 및 데이터가 저장된 set 자료구조에서 데이터를 추출해내기 위해 iterator 인터페이스의 Next() 메소드를 활용해야 한다.
Iterator<String> iter = set.iterator();
//set자료구조를 Collection에서의 iterator() 메소드 사용을 통해 iter 객체 생성
//이 iter 객체는 결과적으로 set 자료구조를 참조한다.
while(iter.hasNext()){
String str = iter.Next();
//추출 후 다음 자료를 참조
System.out.println(str);
}
※ 참고로 iter 객체는 set 자료구조의 데이터를 추출하고, 다음 데이터를 참조하게 되며 queue와 같은 FIFO 형태로 데이터를 추출하고 참조한다.
foreach 문을 활용해서도 데이터를 추출할 수 있다.
import java.util.*;
public class SetExam{
public static void main(String[] args){
Set<String> set = new HashSet<String>();
set.add("a");
set.add("a");
set.add("b");
System.out.println("set의 내용을 출력합니다.");
for(String str : set){
System.out.println(str);
}
}
}
//출력결과 a b