일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 프로그래머스
- 스프링부트 채팅서버
- springboot
- js
- SQL 문제풀이
- 구글로그인
- spring boot
- LeetCode SQL
- 오라클
- 자바8
- 자바스크립트
- oracle
- Spring
- mysql
- SQL
- 코틀린 클래스
- javascript
- SQL프로그래머스
- oauth2
- 스프링시큐리티
- java8
- python
- 스프링부트
- MSA
- 스프링
- 파이게임
- pygame
- Leetcode
- 자바 스트림
- kotlin 클래스
Archives
- Today
- Total
웅겹살의 프로그래밍 삼매경
[java] Set 종류와 정리 본문
728x90
Set은 집합이란 의미. 즉 Set은 순서가 없고 중복을 허용하지 않는다. 또한 Set은 집합 연산인 합집합 교집합 차집합의 연산이 가능합니다.
Set 사용법
Set<자료형> set 명 = new HashSet(or TreeSet)<>();
Set을 사용하기 위해서는 다음과 같이 선언해 줘야함.
// HashSet 패키지
import java.util.HashSet;
import java.util.Set;
// TreeSet 패키지
import java.util.Set;
import java.util.TreeSet;
Set 기능
- 삽입: Set.add(값);
- 제거: Set.remove(값);
- 크기: Set.size(); : Set에 크기를 반환한다.
- Set에 요소가 있는지 없는지 판단: Set.isEmpty();
(없으면 True, 있으면 False를 반환) - 지정한 값이 Set 안에 있는지 판단: Set.contains(값);
(있으면 True, 없으면 False를 반환)
1) HashSet
HashSet은 순서 없이 요소를 저장하는 클래스. HashSet은 중복을 허용하지 않고 중복된 값을 추가할 경우 추가 작업은 실패하며 결과 값으로 False를 반환.
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class SetTest01 {
public static void main(String[] args) {
Set<String> set = new HashSet<>();
if (set.add("korea")) {
System.out.println("첫 번째 korea 추가 성공");
} else {
System.err.println("첫 번째 korea 추가 실패");
}
if (set.add("japan")) {
System.out.println("japan 추가 성공");
} else {
System.out.println("japan 추가 실패");
}
if (set.add("america")) {
System.out.println("america 추가 성공");
} else {
System.out.println("america 추가 실패");
}
if (set.add("britain")) {
System.out.println("britain 추가 성공");
} else {
System.out.println("britain 추가 실패");
}
if (set.add("korea")) {
System.out.println("두 번째 korea 추가 성공");
} else {
System.out.println("두 번째 korea 추가 실패");
}
Iterator it = set.iterator(); // set 기능 중 iterator 사용
// Iterator은 자바 컬렉션의 하나에 인터페이스입니다.
while (it.hasNext()) { // set에 요소가 있을 때까지 반복
System.out.println(it.next()); // set 요소를 하나씩 출력
}
}
}
출력 결과:
첫 번째 korea 추가 성공
japan 추가 성공
america 추가 성공
britain 추가 성공
두 번째 korea 추가 실패
korea
britain
japan
america
2) TreeSet
TreeSet은 HashSet과 마찬가지로 중복을 허락하지 않지만 순서가 있는 Set입니다. (TreeSet을 더 자세히 알고 싶으면 이진 검색 트리를 검색해서 보시면 됩니다!)
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
public class SetTest01 {
public static void main(String[] args) {
Set<String> treeset = new TreeSet<>();
if (treeset.add("korea")) {
System.out.println("첫 번째 korea 추가 성공");
} else {
System.err.println("첫 번째 korea 추가 실패");
}
if (treeset.add("japan")) {
System.out.println("japan 추가 성공");
} else {
System.out.println("japan 추가 실패");
}
if (treeset.add("america")) {
System.out.println("america 추가 성공");
} else {
System.out.println("america 추가 실패");
}
if (treeset.add("britain")) {
System.out.println("britain 추가 성공");
} else {
System.out.println("britain 추가 실패");
}
if (treeset.add("korea")) {
System.out.println("두 번째 korea 추가 성공");
} else {
System.out.println("두 번째 korea 추가 실패");
}
Iterator it = treeset.iterator(); // set 기능 중 iterator 사용
// Iterator은 자바 컬렉션의 하나에 인터페이스입니다.
while (it.hasNext()) { // set에 요소가 있을 때까지 반복
System.out.println(it.next()); // set 요소를 하나씩 출력
}
}
}
출력 결과:
첫 번째 korea 추가 성공
두 번째 korea 추가 실패
japan 추가 성공
america 추가 성공
britain 추가 성공
america
britain
japan
korea
728x90
'자바(java)' 카테고리의 다른 글
[java] 롬복 lombok 이란? (0) | 2022.06.16 |
---|---|
[java] 자바 java Iterator (0) | 2022.06.15 |
[java] List 종류와 정리 (0) | 2022.03.31 |
[java] Map 종류와 정리 (0) | 2022.03.29 |
[java] stream API 예제 (1) | 2021.01.24 |
Comments