티스토리 뷰

Web/JAVA

[JAVA] HashSet

Aaron 2019. 8. 14. 17:15
반응형


#. HashSet


  - Hash Table에 의한 동작

  - 집단을 반복(iterator)하려면 HashSet 인스턴스의 크기(원소의 수)와 백업 HashMap 인스턴스의 용량(버킷 수)의 합계에 비례하는 시간이 필요. 따라서, 반복 성능이 중요한 경우 초기 용량을 너무 높게 설정하지 않는 것이 매우 중요



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import java.util.*;        // HashSet을 사용하기 위해 import
 
public class test {
    public static void main(String[] args) {
        HashSet hs = new HashSet();        // HashSet 객체 생성
        
        // ** 요소 추가
        hs.add("3");    
        hs.add("1");
        hs.add("3");
        hs.add("5");
        hs.add("7");
        
        // ** 인스턴스의 복사
        Object hs_clone = hs.clone();
        
        // ** 특정 요소 확인
        System.out.println(hs.contains("7"+ "\n"); // ture
        
        // ** 요소가 비어있는지 확인
        System.out.println(hs.isEmpty() + "\n"); // false
 
        
        // ** 요소들의 출력을 위해 HashSet을 iterator로 저장
        Iterator it = hs.iterator();
        while(it.hasNext()) {        // 다음 원소 확인
            System.out.println(it.next());    // 다음 원소 반환
        }
        System.out.println("");
        
        // ** 정렬을 위해 Collections의 sort 메서드 사용
        List list = new ArrayList(hs);    // Collections의 sort 메서드는 인자 형식이 List
        Collections.sort(list);
 
        System.out.println(list + "\n");
        
        // ** 합 요소의 수 확인
        System.out.println(hs.size() + "\n"); // 4
        
        // ** 특정 요소 제거
        hs.remove("7");
        
        // ** 모든 요소 제거
        hs.clear();
    }
}
cs



-----Output-------------------------


true


false


1

3

5

7


[1, 3, 5, 7]


4


----------------------------------------

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
링크
Total
Today
Yesterday