반응형
- Set의 메서드 설명 + HashSet 사용 예제 + iterator 예제
Set 이란?
- 순서가 없는 데이터의 집합, 중복을 허용하지 않음
Set의 메서드 정리
add(Object o)
- 중복 여부 확인 후 중복되었으면 false return
- 중복 되지 않았으면 Set에 삽입 후 true return
remove(Object o)
- 자료 삭제 후 성공시 true, 실패시 false return
claer()
- 전체 삭제
size()
- Set에 담긴 자료 개수 return
contains(Object o)
- o가 set에 포함되어 있는지 확인
addAll(Collection c)
- Collection을 모두 Set에 삽입
containsAll(Collection c)
- Collection이 모두 포함되어 있으면 true return
removeAll(Collection c)
- Collection에 있는 자료 중 포함되어 있는 자료를 모두 삭제
retainAll(Collection c)
- Collection에 있는 자료 중 포함되어 있는 자료만 남기고 나머지 삭제
iterator
- Set에 순서대로 접근하기 위한 iterator 반환
Set의 종류
- Set의 종류로는 HashSet, LinkedHashSet, TreeSet 등이 존재
HashSet 예제
package CollectionTest.SetTest;
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Set<Integer> setInt = new HashSet<Integer>();
setInt.add(1);
setInt.add(2);
setInt.add(3);
setInt.add(5);
setInt.add(4);
System.out.println(setInt.size());
System.out.println(setInt.toString());
Set<Integer> setInt2 = new HashSet<Integer>();
setInt2.addAll(setInt);
System.out.println(setInt2.toString());
Set<Integer> setdelInt = new HashSet<Integer>();
setdelInt.add(1);
setdelInt.add(3);
setdelInt.add(7);
setInt.removeAll(setdelInt);
setInt2.retainAll(setdelInt);
System.out.println(setInt.toString());
System.out.println(setInt2.toString());
}
}
결과
5
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5]
[2, 4, 5]
[1, 3]
iterator 예제
package CollectionTest.SetTest;
import java.util.HashSet;
import java.util.Set;
import java.util.Iterator;
public class Main {
public static void main(String[] args) {
Set<Integer> setInt = new HashSet<Integer>();
setInt.add(1);
setInt.add(2);
setInt.add(3);
setInt.add(5);
setInt.add(4);
System.out.println(setInt.toString());
Iterator<Integer> it = setInt.iterator();
while(it.hasNext()) {
int i = it.next();
System.out.println(i);
}
}
}
결과
[1, 2, 3, 4, 5]
1
2
3
4
5
- iterator은 추후에 다시 정리 필요할듯 함
반응형
'JAVA > 기본 문법' 카테고리의 다른 글
[JAVA] Stack & Queue (0) | 2022.04.13 |
---|---|
[JAVA] 컬렉션 프레임워크 - 3. List (0) | 2022.04.13 |
[JAVA] 컬렉션 프레임워크 - 1. Map (+ value값으로 검색) (0) | 2022.04.12 |
[JAVA] 컬렉션 프레임워크 (Collection Framework) (0) | 2022.04.12 |
[JAVA] Overloading, Overriding (0) | 2022.03.31 |