어제 오늘 내일

[Java] 배열을 Set으로, Set을 배열로 변환하기 본문

IT/Java

[Java] 배열을 Set으로, Set을 배열로 변환하기

hi.anna 2021. 7. 11. 21:49

 

Java의 배열을 Set 객체로, Set 객체를 배열로 변환하는 방법을 알아봅니다.

  1. 배열을 Set으로
  2. Set을 배열로

 

 

1. 배열을 Set으로

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;

public class ArrayToSet {
    
    public static void main(String[] args) {
        
        // Set으로 변환할 배열
        Integer[] arr = { 1, 1, 2, 3, 4 };

        // 배열 -> Set
        Set<Integer> set = new HashSet<Integer>(Arrays.asList(arr));

        // Set 출력
        System.out.println(set); // [1, 2, 3, 4]
    }
}

Set<Integer> set = new HashSet<Integer>(Arrays.asList(arr));

배열을 Set 객체로 변환하기 위해서

HashSet의 생성자 파라미터로 List를 넘겨주었습니다.

그리고, 배열을 List 객체로 변환하기 위해서

Arrays.asList() 메소드를 사용하였습니다.

 

System.out.println(set);

Set 객체는 중복을 허용하지 않는 객체이기 때문에,

배열에 있던 중복이 제거되어, 4개의 원소만 Set 객체에 저장된 것을 확인 할 수 있습니다.

 

 

 

2. Set을 배열로

import java.util.Arrays;
import java.util.Set;

import com.google.common.collect.Sets;

public class SetToArray {
    public static void main(String[] args) {
        
        // Set 객체
        Set<Integer> set = Sets.newHashSet(1, 2, 3, 4);

        // Set -> 배열
        Integer[] arr = set.toArray(new Integer[0]);

        // 배열 출력
        System.out.println(Arrays.toString(arr)); // [1, 2, 3, 4]
    }
}

Integer[] arr = set.toArray(new Integer[0]);

Set 객체의 toArray() 메소드를 이용하면, Set 객체를 배열로 변환할 수 있습니다.

파라미터로는, 변환될 배열 객체를 넘겨주면 되는데,

이때 배열의 크기를 0으로 지정하면 자동으로 배열의 크기가 지정됩니다.

 


 

배열을 Set 객체로, Set 객체를 배열로 변환하는 방법을 알아보았습니다.

 

 

반응형
Comments