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
- 자바
- heap
- java method
- 알고리즘
- 객체프로그래밍이란
- 코딩테스트기출
- 카카오기출
- 프렌즈4블록
- java
- 백준
- 문자열포맷
- 자료구조 트리
- 카카오코테
- 자료구조힙
- heap정렬
- 자바문자열
- 공부정리
- 프렌즈4블록java
- 백준 1000번
- 백준 1000번 java
- 코테준비
- 객체프로그래밍
- 카카오코딩테스트
- 카카오1차
- 개발상식
- 프로그래머스
- 힙정렬자바
- Java heap
- 백준 1924번 java
- 백준 1924번
Archives
- Today
- Total
일단 시작해보는 블로그
[Java] HashSet 본문
Hashset은 중복을 허용하지 않고 순서가 없다. 만약 중복을 허용하지 않는 순서가 있는 집합을 만들고 싶다면 LinkedHashSet을 사용하면 된다.
package hash;
import java.util.HashSet;
import java.util.Iterator;
public class HashSet_Union_Inter {
public static void main(String[] args) {
HashSet SetA = new HashSet(); // [1, 2, 3, 4, 5]
HashSet SetB = new HashSet(); // [1, 2, 4, 5, 6]
HashSet SetUnion = new HashSet(); // [1, 2, 3, 4, 5, 6]
HashSet SetInter = new HashSet(); // [1, 2, 4, 5]
HashSet SetA_B_Diff = new HashSet(); //A-B = A - (A and B, SetInter) = [3]
HashSet SetB_A_Diff = new HashSet(); //B-A = B - (A and B, SetInter) = [6]
// push data on SetA
SetA.add("1");
SetA.add("2");
SetA.add("3");
SetA.add("4");
SetA.add("5");
// push data on SetB
SetB.add("1");
SetB.add("2");
SetB.add("4");
SetB.add("5");
SetB.add("6");
// 반복문 Iterator
// Get SetInter (교집합)
// Get SetUnion : 중복을 허용하지 않는 Hashset이므로, 그냥 A+B해주면 합집합이 나온다.
Iterator iteratorA = SetA.iterator();
while(iteratorA.hasNext()){
Object tmp = iteratorA.next();
//A의 원소 중, B에 포함 되어있는게 있으면 SetInter에 넣는다.
if(SetB.contains(tmp)){
SetInter.add(tmp);
}else {
SetA_B_Diff.add(tmp);
}
SetUnion.add(tmp);
}
// 차집합 구하기 (B-A)
Iterator iteratorB = SetB.iterator();
while(iteratorB.hasNext()){
Object tmp = iteratorB.next();
if(!SetA.contains(tmp)){
SetB_A_Diff.add(tmp);
}
SetUnion.add(tmp);
}
System.out.println(SetA); //A
System.out.println(SetB); //B
System.out.println(SetUnion); //합집합
System.out.println(SetInter); // 교집합
System.out.println(SetA_B_Diff); //A-B
System.out.println(SetB_A_Diff); //B-A
}
}
'개발 > Java' 카테고리의 다른 글
[Java] Set 인터페이스, HashSet vs TreeSet vs LinkedHashset (0) | 2019.09.03 |
---|---|
[Java] Iterator (0) | 2019.09.03 |
[Java] 자바의 정규표현식을 위한 Pattern, Matcher (0) | 2019.09.03 |
[Java] 정규표현식, Regular Expression (0) | 2019.09.03 |
[Java] 데이터 타입 (0) | 2019.08.23 |
Comments