>Java >java지도 시간 >5가지 효율적인 Java 어레이 중복 제거 방법 공개

5가지 효율적인 Java 어레이 중복 제거 방법 공개

WBOY
WBOY원래의
2023-12-23 14:46:101392검색

5가지 효율적인 Java 어레이 중복 제거 방법 공개

5가지 효율적인 Java 배열 중복 제거 방법 공개

Java 개발 프로세스 중에 배열 중복을 제거해야 하는 상황에 자주 직면하게 됩니다. 중복 제거는 배열에서 중복된 요소를 제거하고 하나만 유지하는 것입니다. 이 기사에서는 5가지 효율적인 Java 배열 중복 제거 방법을 소개하고 구체적인 코드 예제를 제공합니다.

방법 1: HashSet을 사용하여 중복 제거

HashSet은 요소를 추가할 때 자동으로 중복을 제거하는 순서가 없고 반복되지 않는 컬렉션입니다. 따라서 HashSet의 특성을 활용하여 배열 중복을 제거할 수 있습니다.

public static int[] removeDuplicates(int[] arr) {
    Set<Integer> set = new HashSet<>();
    for (int i = 0; i < arr.length; i++) {
        set.add(arr[i]);
    }
    int[] result = new int[set.size()];
    int index = 0;
    for (int num : set) {
        result[index++] = num;
    }
    return result;
}

방법 2: LinkedHashSet을 사용하여 중복 없이 요소의 순서를 유지합니다.

LinkedHashSet은 요소의 삽입 순서에 따라 정렬되는 순서가 지정된 중복되지 않는 집합입니다. LinkedHashSet을 사용하면 중복 항목을 제거하고 요소 순서를 유지할 수 있습니다.

public static int[] removeDuplicates(int[] arr) {
    Set<Integer> set = new LinkedHashSet<>();
    for (int i = 0; i < arr.length; i++) {
        set.add(arr[i]);
    }
    int[] result = new int[set.size()];
    int index = 0;
    for (int num : set) {
        result[index++] = num;
    }
    return result;
}

방법 3: Stream API를 사용하여 배열 중복 제거

Java 8에서는 stream() 메서드를 통해 배열을 스트림으로 변환한 다음, independent() 메서드를 통해 중복 제거를 수행할 수 있는 Stream API가 도입되었습니다.

import java.util.Arrays;
import java.util.stream.Collectors;

public static int[] removeDuplicates(int[] arr) {
    return Arrays.stream(arr).distinct().toArray();
}

방법 4: 정렬 및 중복 제거에 TreeSet 사용

TreeSet은 자연 순서에 따라 요소를 정렬하는 정렬된 중복되지 않는 집합입니다. TreeSet을 사용하여 배열의 중복을 제거하고 정렬할 수 있습니다.

public static int[] removeDuplicates(int[] arr) {
    Set<Integer> set = new TreeSet<>();
    for (int i = 0; i < arr.length; i++) {
        set.add(arr[i]);
    }
    int[] result = new int[set.size()];
    int index = 0;
    for (int num : set) {
        result[index++] = num;
    }
    return result;
}

방법 5: 중복 제거에 BitSet 사용

BitSet은 비트 값을 저장하는 데 사용되는 컬렉션이며 중복 제거에도 사용할 수 있습니다. 해당 비트의 값을 true로 설정하여 중복 요소를 제거할 수 있습니다.

public static int[] removeDuplicates(int[] arr) {
    BitSet bitSet = new BitSet();
    for (int num : arr) {
        bitSet.set(num);
    }
    int[] result = new int[bitSet.cardinality()];
    int index = 0;
    for (int i = bitSet.nextSetBit(0); i >= 0; i = bitSet.nextSetBit(i + 1)) {
        result[index++] = i;
    }
    return result;
}

위는 다섯 가지 효율적인 Java 배열 중복 제거 방법입니다. 실제 상황에 따라 적절한 방법을 선택하면 중복 제거 프로세스 중에 어레이를 보다 효율적으로 처리할 수 있습니다. 이 기사가 Java 개발 시 어레이 중복 제거 문제에 도움이 되기를 바랍니다.

위 내용은 5가지 효율적인 Java 어레이 중복 제거 방법 공개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.