import java.util.HashSet; - 기능 호출
Set - 집합 / 교집합, 합집합, 차집합
import java.util.Arrays;
import java.util.HashSet;
public class zzzz {
public static void main(String[] args) {
HashSet<String> HI = new HashSet<>(Arrays.asList("H", "E", "L", "L", "O"));
System.out.println(HI);
}
}
//[E, H, L, O] //중복이 허용 안되고 순서가 없어 이렇게 출력됨
집합 자료형 특징은
중복 허용 x
순서없음
*중복 허용이 안되어 중복을 제거하는 용도로 많이 사용됨
기능 소개
retainAll - 교집합
import java.util.Arrays;
import java.util.HashSet;
public class zzzz {
public static void main(String[] args) {
HashSet<Integer> num1 = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5, 6));
HashSet<Integer> num2 = new HashSet<>(Arrays.asList(4, 5, 6, 7, 8, 9));
HashSet<Integer> n1 = new HashSet<>(num1); //복사 객체를 만들어준다 *안하고 num1로 해도 값은 잘 나옴
n1.retainAll(num2); //retainAll은 교집합 중복된 값만 출력
System.out.println(n1);
}
}
//[4, 5, 6]
addAll - 합집합
import java.util.Arrays;
import java.util.HashSet;
public class zzzz {
public static void main(String[] args) {
HashSet<Integer> num1 = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5, 6));
HashSet<Integer> num2 = new HashSet<>(Arrays.asList(4, 5, 6, 7, 8, 9));
HashSet<Integer> n1 = new HashSet<>(num1); //복사 객체를 만들어준다 *안하고 num1로 해도 값은 잘 나옴
n1.addAll(num2); //addAll은 합집합이여서 중복된 값은 하나로 합쳐지고 나머지 값들이 추가 됨
System.out.println(n1);
}
}
//[1, 2, 3, 4, 5, 6, 7, 8, 9]
removeAll - 차집합
import java.util.Arrays;
import java.util.HashSet;
public class zzzz {
public static void main(String[] args) {
HashSet<Integer> num1 = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5, 6));
HashSet<Integer> num2 = new HashSet<>(Arrays.asList(4, 5, 6, 7, 8, 9));
HashSet<Integer> n1 = new HashSet<>(num1); //복사 객체를 만들어준다 *안하고 num1로 해도 값은 잘 나옴
n1.removeAll(num2); //rmoveAll은 차집합 중복된 값이 제거된 n1의 값이 출력됨
System.out.println(n1);
}
}
//[1, 2, 3]
add - 값 추가하기
import java.util.HashSet;
public class zzzz {
public static void main(String[] args) {
HashSet<String> animal = new HashSet<>();
animal.add("사자");
animal.add("호랑이");
animal.add("코끼리");
System.out.println(animal);
}
}
//[호랑이, 코끼리. 사자] //순서대로 출력 안됨 *집합 자료형의 특징
addAll - 값 한 번에 추가하기 / *합집합
import java.util.Arrays;
import java.util.HashSet;
public class zzzz {
public static void main(String[] args) {
HashSet<String> animal = new HashSet<>();
animal.add("사자");
animal.addAll(Arrays.asList("호랑이", "코끼리"));
//addAll 기능을 통해 한번에 추가 가능 단! Arrays.asList 입력 해줘야함
System.out.println(animal);
}
}
//[호랑이, 코끼리. 사자]
remove - 특정 값 제거하기
import java.util.Arrays;
import java.util.HashSet;
public class zzzz {
public static void main(String[] args) {
HashSet<String> animal = new HashSet<>();
animal.add("사자");
animal.addAll(Arrays.asList("호랑이", "코끼리"));
animal.remove("사자"); //remave를 통해 제거 가능
System.out.println(animal); //사자가 제거되고 나머지 값들이 출력
}
}
//[호랑이, 코끼리]
Set.of() - 수정 불가한 Set
// 수정 불가한 Set
Set<String> set = Set.of("spring", "java", "html");
set.add("css"); // 오류 발생
// 수정 하고 싶은 경우
Set<String> set2 = new HashSet<>(set);
set2.add("css") // 추가 가능
반응형
'JAVA' 카테고리의 다른 글
switch/case (0) | 2022.10.13 |
---|---|
if (참, 거짓) (0) | 2022.10.13 |
형 변환, final (0) | 2022.10.12 |
Map (Key, Value) (0) | 2022.10.11 |
ArrayList (리스트) + Generics<> (제네릭스) (0) | 2022.10.07 |