Java HashSet - 집합 삽입, 삭제, 탐색
결과
결과
코드
package pk;
import java.util.HashSet;
import java.util.Iterator;
public class Test {
public static void main(String[] args) {
HashSet<String> ss = new HashSet<String>();
ss.add("가");
ss.add("나");
ss.add("다");
ss.add("라");
ss.add("가");
for(String s : ss) {
System.out.print(s + " ");
if(s.equals("라")) ss.remove(s);
}
System.out.println();
Iterator<String> it = ss.iterator();
while(it.hasNext()) {
String s = it.next();
System.out.print(s + " ");
if(s.equals("다")) it.remove();
}
System.out.println();
for(String s : ss) {
System.out.print(s + " ");
}
System.out.println();
System.out.println("길이 : " + ss.size());
System.out.println("'가' 포함 여부 : " + ss.contains("가"));
}
}
HashSet : 저장 순서가 유지되지 않으며 동일한 값을 1개만 저장할 수 있다.
중복이 없고, 순서가 없으므로 집합으로 볼 수 있다.
ex) 결과 1라인을 보면 중복이 허용안되며 순서도 무작위인걸 확인 가능하다.
boolean add(E e) : 원소 추가
- 리턴형이 boolean형으로 저장이 완료되면 true를, 중복된 원소라 저장이 실패한다면 false를 리턴한다.
boolean remove(Object o) : 원소 제거
- 성공적으로 제거하면 true를 실패하면 false를 리턴한다.
isEmpty() : 비었는지 검사
size() : 개수를 구함
boolean contains(Object o) : 포함 여부 확인
- 인수로 준 객체가 존재하는지 검사한다.
iterator() : iterator 객체를 얻음
탐색
1. for each문을 사용
2. Iterator를 사용
ㄴ boolean hasNext() : 가져올 객체가 있는지 없는지 검사한다.
ㄴ E next() : 한칸 다음으로 이동 후 그 객체 값을 리턴한다.
ex) 0 "가" "나 "다" "라"
이러한 set이 있다면 처음 next()를 실행하였을 경우 0에서 "가" 로 이동한 후 "가"를 리턴하게 된다.
+) 추가
- HashSet은 객체를 비교할 시 hashCode()와 equals() 메소드들을 재정의하여 조건을 지정해 주어야 한다.
링크
[JAVA/심화] - Java HashSet 합집합, 차집합, 교집합, 부분집합
'JAVA > 심화' 카테고리의 다른 글
Java Stack(스택) 컬렉션 사용 (0) | 2020.04.10 |
---|---|
Java HashSet 합집합, 차집합, 교집합, 부분집합 (0) | 2020.04.09 |
Java List Collection - ArrayList, LinkedList, Vector (0) | 2020.04.01 |
Java 제네릭(Generic) 타입 (0) | 2020.04.01 |
Java 시간 차 구하기 ChronoUnit (0) | 2020.03.28 |