소개
Java 에서 배열 (Array) 은 인덱스 기반의 데이터 구조로, 유사한 유형의 데이터를 저장하며, 집합 (Set) 은 고유한 요소들의 모음입니다. Java 에서 배열을 집합으로 변환하는 과정은 특히 중복된 요소가 필요하지 않을 때 흔히 사용되는 사례입니다. 이 Lab 에서는 다양한 방법을 사용하여 Java 에서 배열을 집합으로 변환하는 방법을 배우겠습니다.
Java 에서 배열 (Array) 은 인덱스 기반의 데이터 구조로, 유사한 유형의 데이터를 저장하며, 집합 (Set) 은 고유한 요소들의 모음입니다. Java 에서 배열을 집합으로 변환하는 과정은 특히 중복된 요소가 필요하지 않을 때 흔히 사용되는 사례입니다. 이 Lab 에서는 다양한 방법을 사용하여 Java 에서 배열을 집합으로 변환하는 방법을 배우겠습니다.
다음 명령을 사용하여 ~/project 디렉토리에 새로운 Java 파일을 생성해 보겠습니다.
touch ~/project/ArrayToSet.java
Java 파일에서 먼저 프로그램에 필요한 클래스를 임포트해야 합니다. HashSet, Collections, Arrays 및 Set 클래스를 사용할 것입니다. 다음 코드를 추가하여 이러한 클래스를 임포트하십시오.
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
중복된 요소를 가진 간단한 문자열 배열을 생성해 보겠습니다. 다음 코드를 추가하십시오.
String[] fruits = {"Apple", "Orange", "Banana", "Orange"};
이 단계에서는 Collections 클래스의 addAll() 메서드를 사용하여 배열을 Set 으로 변환합니다. addAll() 메서드는 배열의 모든 요소를 지정된 컬렉션에 추가합니다. main() 메서드에 다음 코드를 추가하십시오.
Set<String> fruitsSet = new HashSet<>();
Collections.addAll(fruitsSet, fruits);
System.out.println(fruitsSet);
이 단계에서는 Arrays 클래스의 asList() 메서드를 사용하여 배열을 Set 으로 변환합니다. asList() 메서드는 배열의 목록을 반환하며, Set 생성자를 사용하여 Set 으로 변환할 수 있습니다. main() 메서드에 다음 코드를 추가하십시오.
Set<String> fruitsSet = new HashSet<>(Arrays.asList(fruits));
System.out.println(fruitsSet);
이 단계에서는 Java 8 Streams 의 Collectors 클래스의 toSet() 메서드를 사용하여 배열을 Set 으로 변환합니다. toSet() 메서드는 스트림의 요소를 Set 인스턴스로 수집합니다. main() 메서드에 다음 코드를 추가하십시오.
Set<String> fruitsSet = Arrays.stream(fruits)
.collect(Collectors.toSet());
System.out.println(fruitsSet);
다음 명령을 사용하여 Java 프로그램을 컴파일하고 실행할 수 있습니다.
javac ArrayToSet.java && java ArrayToSet
출력에서 변환 중에 Set 에 추가된 배열의 고유한 요소를 확인할 수 있습니다.
이 Lab 에서는 addAll(), asList(), 그리고 Java 8 Streams 의 toSet() 을 사용하여 Java 에서 배열을 Set 으로 변환하는 세 가지 방법을 배웠습니다. 또한 필요한 클래스를 import 하고, 배열을 생성하며, 명령줄을 사용하여 Java 프로그램을 실행하는 방법도 배웠습니다. 이러한 개념을 이해함으로써 Java 에서 배열을 Set 으로 쉽게 변환할 수 있습니다.