Java - 배열에서 중복 제거

배열의 중복된 값을 제거하는 방법을 소개합니다.

1. HashSet을 이용하여 배열 중복 제거

HashSet은 중복 요소를 허용하지 않는 자료구조입니다. 배열의 모든 요소를 HashSet에 추가한다면 중복된 값이 제거됩니다. 그리고 HashSet의 요소들을 다시 배열로 변경하면 됩니다.

아래 예제에서 new HashSet<>(Arrays.asList(arr))는 배열의 모든 요소를 HashSet에 추가하면서 초기화하는 코드입니다. set.toArray(new String[0])는 Set를 String 배열로 변환하는 코드입니다.

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

public class Example {

    public static void main(String[] args) {

        String[] arr = {"A", "B", "B", "A", "C", "D", "A"};

        Set<String> set = new HashSet<>(Arrays.asList(arr));
        String[] newArray = set.toArray(new String[0]);

        System.out.println(Arrays.asList(newArray));
    }
}

Output:

[A, B, C, D]

2. Stream을 이용하여 배열 중복 제거

Stream을 이용하여 배열의 중복 요소를 제거할 수 있습니다. 배열을 Stream으로 만들고 Stream에서 distinct()으로 중복된 요소들을 제거할 수 있습니다.

import java.util.Arrays;

public class Example1 {

    public static void main(String[] args) {

        String[] arr = {"A", "B", "B", "A", "C", "D", "A"};

        String[] newArray = Arrays.stream(arr).distinct().toArray(String[]::new);

        System.out.println(Arrays.asList(newArray));
    }
}

Output:

[A, B, C, D]
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha