Set 인터페이스를 구현한 클래스를 Set 컬렉션 클래스라고 부른다.
HashSet set=new HashSet();
HashSet<String> set=new HashSet<String>();
Set<String> set=new HashSet<String>();//HashSet으로 선언
Set 인스턴스에 요소(Element)를 추가하는 메소드
set.add("홍길동");
//set.add(100);//제네릭 타입으로 전달된 자료형의 인스턴스가 아닌 경우 에러 발생
set.add("임꺽정");
set.add("전우치");
set.add("일지매");
Set 인스턴스에 저장된 모든 요소를 문자열로 변환하여 반환하는 메소드
System.out.println(set.toString());//출력: [홍길동, 일지매, 전우치, 임꺽정]
System.out.println(set);//출력: [홍길동, 일지매, 전우치, 임꺽정]
Set 인스턴스에 저장된 요소를 제거하는 메소드
요소(인스턴스)의 값을 비교하여 제거한다.
set.remove("임꺽정");//set에서 임꺽정 제거
Set 인스턴스에 저장된 요소의 갯수를 반환하는 메소드
System.out.println(set.size());//출력: 3
Set 인스턴스에 저장된 요소를 반복 처리하기 위한 Iterator 인스턴스를 반환하는 메소드
Iterator: 자료구조 인스턴스에 대한 반복 처리 기능을 제공되는 인터페이스 - 반복지시자
Iterator.hasNext(): Iterator 인스턴스로 처리 가능한 요소의 존재 유무를 반환하는 메소드
(false : 처리 요소 미존재, true : 처리 요소 존재)
Iterator<String> iterator=set.iterator();
while(iterator.hasNext()) {
// => 현재 요소를 반환하고 다음 요소로 이동 처리
String str=iterator.next();
System.out.print(str+" ");
}
//변형된 for 구문은 내부적으로 Iterator 인스턴스를 사용하여 반복 처리
for(String name:set) {
System.out.print(name+" ");
}