반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- javascript
- CMD
- HashMap
- 문자열
- Button
- Java
- table
- 정규식
- replace
- vscode
- 인텔리제이
- IntelliJ
- Eclipse
- list
- Array
- input
- 이탈리아
- map
- Visual Studio Code
- js
- 배열
- CSS
- 이클립스
- 자바
- ArrayList
- 자바스크립트
- date
- string
- json
- html
Archives
- Today
- Total
어제 오늘 내일
[Java HashSet] 주요 메소드 정리 및 활용 예제 본문
HashSet
은 중복 없는 집합 자료구조입니다. 기본적인 추가, 삭제, 검색 외에도 다양한 메소드가 제공됩니다. 이번 글에서는 가장 자주 사용하는 메소드들을 코드와 함께 정리합니다.
1. add()
import java.util.HashSet;
public class HashSetAdd {
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
set.add("kim");
set.add("lee");
set.add("kim"); // 중복 삽입 시 무시
System.out.println(set); // [kim, lee]
}
}
중복된 값은 저장되지 않고 무시됩니다. 반환값은 boolean
으로 실제로 추가되었는지 여부를 알려줍니다.
2. remove()
import java.util.HashSet;
public class HashSetRemove {
public static void main(String[] args) {
HashSet<Integer> set = new HashSet<>();
set.add(1);
set.add(2);
boolean removed = set.remove(1);
System.out.println(removed); // true
System.out.println(set); // [2]
}
}
존재하는 요소면 삭제 후 true, 없으면 false를 반환합니다.
3. contains()
import java.util.HashSet;
public class HashSetContains {
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
set.add("kim");
set.add("lee");
System.out.println(set.contains("kim")); // true
System.out.println(set.contains("park")); // false
}
}
특정 요소 존재 여부를 확인할 때 사용합니다.
4. size(), isEmpty()
import java.util.HashSet;
public class HashSetSizeEmpty {
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
System.out.println(set.isEmpty()); // true
set.add("kim");
set.add("lee");
System.out.println(set.size()); // 2
System.out.println(set.isEmpty()); // false
}
}
저장된 요소 개수 확인이나 비어 있는지 체크할 때 활용합니다.
5. clear()
import java.util.HashSet;
public class HashSetClear {
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
set.add("kim");
set.add("lee");
set.clear();
System.out.println(set); // []
System.out.println(set.isEmpty()); // true
}
}
모든 요소를 한 번에 제거합니다.
6. 반복 (for-each, Iterator)
import java.util.*;
public class HashSetIteration {
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
set.add("kim");
set.add("lee");
set.add("park");
// for-each
for (String name : set) {
System.out.print(name + " ");
}
System.out.println();
// Iterator
Iterator<String> it = set.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
}
}
순서가 보장되지 않으며, 반복 도중 삭제는 반드시 Iterator.remove()
를 사용해야 안전합니다.
결론
- 요소 추가:
add
- 요소 삭제:
remove
,clear
- 검색:
contains
,size
,isEmpty
- 순회: for-each, Iterator
- 순서를 유지하려면
LinkedHashSet
, 정렬이 필요하면TreeSet
을 고려
반응형
'IT > Java' 카테고리의 다른 글
[Java TreeSet] 주요 메소드 정리 및 활용 예제 (0) | 2025.10.09 |
---|---|
[Java LinkedHashSet] 주요 메소드 정리 및 활용 예제 (0) | 2025.10.08 |
[Java HashSet] 초기화 방법 총정리 (0) | 2025.10.07 |
[Java HashMap] 초기화 방법 총정리 (0) | 2025.10.07 |
[Java StringTokenizer] 주요 메소드 정리와 활용 예제 (0) | 2025.10.06 |
Comments