HashSet
1. HashSet 선언
<java>
HashSet<Integer> set = new HashSet<>();
HashSet<Integer> set1 = new HashSet<Integer>(set1);//set1의 모든 값을 가진 HashSet생성
HashSet<Integer> set = new HashSet<Integer>(Arrays.asList(1,2,3));//초기값 지정
HashSet<Integer> set = new HashSet<Integer>(10);//초기 용량(capacity)지정
HashSet<Integer> set = new HashSet<Integer>(10, 0.7f);//초기 capacity,load factor지정
보통 HashSet<데이터타입> 변수명 = new HashSet<데이터타입>();으로 선언하면 된다.
2. HashSet 값 추가 add()
<java>
HashSet<Integer> set = new HashSet<>(); //HashSet생성
set.add(1); //값 추가
set.add(2);
3. HashSet 값 삭제 remove()
remove(value) 메소드를 사용
<java>
set.remove(1);//값 1 제거
전부 삭제하고 싶은 경우, clear() 메소드 사용
<java>
set.clear();//모든 값 제거
4. HashSet 크기 구하기 size()
size() 메소드 사용 (중복값이 들어오면 자동으로 제거한다.)
<java>
System.out.println(set.size()); //set 크기 출력
5. HashSet 값 출력하기
1. HashSet 데이터를 단순히 println으로 출력하는 경우, [1, 2] 형태로 출력된다.
<java>
System.out.println(set); //전체출력 [1,2]
2. 하나의 객체를 가져오고 싶은 경우
Set에는 인덱스가 없으므로 get(index) 메소드가 없다. 따라서 Iterator를 사용한다. Iterator는 전체 객체를 대상으로 한 번씩 반복해서 가져오는 반복자이다. iterator() 메소드를 호출하면 얻을 수 있다. Iterator에서 하나의 객체를 가져올 때는 next() 메소드를 사용한다. next() 메소드를 사용하기 전에 먼저 가져올 객체가 있는지 확인하는 것이 좋다.
hasNext() 메소드는 가져올 객체가 있으면 true를 리턴하고, 없으면 false를 리턴한다.
<java>
Iterator iter = set.iterator(); // Iterator 사용
while(iter.hasNext()) {//값이 있으면 true 없으면 false
System.out.println(iter.next());
}
6. HashSet 값 검색 contains()
HashSet 내부에 원하는 값이 있는지 확인하고 싶다면 contains(value) 메소드를 사용하면 된다. 파라미터로 주어진 객체가 HashSet이 가지고 있다면 true, 아니면 false를 반환한다.
<java>
for(int num : set) {
if(set.contains(num)) {
System.out.println(num);
}
}
'Develop > Ps' 카테고리의 다른 글
[Java] StringBuilder 메서드 (0) | 2024.04.15 |
---|---|
[Java] String 메서드 (0) | 2024.04.15 |
[Java] List 메서드 (1) | 2024.04.11 |
[Java] Map 메서드 (0) | 2024.04.11 |
[C++] STL Priority_queue 사용법 (0) | 2024.01.07 |
댓글