반응형
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 |
Tags
- js
- string
- 자바스크립트
- CSS
- table
- 자바
- html
- CMD
- Eclipse
- javascript
- vscode
- date
- list
- Button
- 문자열
- 배열
- IntelliJ
- map
- ArrayList
- Visual Studio Code
- Java
- 이클립스
- 인텔리제이
- Array
- input
- json
- 정규식
- 이탈리아
- HashMap
- replace
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