본문 바로가기
Develop/Ps

[Java] Set 메서드

by J-rain 2024. 4. 15.

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

댓글