>  기사  >  Java  >  Java 배열에서 중복을 제거하는 방법은 무엇입니까?

Java 배열에서 중복을 제거하는 방법은 무엇입니까?

DDD
DDD원래의
2023-12-22 16:26:171528검색

Java 배열 중복 제거 방법은 다음과 같습니다. 1. Java 8의 Stream API를 사용하면 Stream API의 "distinct()" 메서드를 사용하여 배열에서 중복 요소를 제거할 수 있습니다. 2. 다음과 같은 집합인 HashSet을 사용합니다. 3. TreeSet을 사용하십시오. TreeSet은 순서가 지정된 집합이며 TreeSet을 사용하려면 요소 등을 저장하기 위한 추가 공간이 필요합니다.

Java 배열에서 중복을 제거하는 방법은 무엇입니까?

이 튜토리얼의 운영 체제: Windows 10 시스템, Dell G3 컴퓨터.

Java에는 배열에서 중복 요소를 제거하는 방법이 많이 있습니다. 다음은 몇 가지 일반적인 방법입니다.

1. Java 8의 Stream API 사용

Java 8에서는 데이터 처리를 더욱 간결하고 유연하게 만드는 Stream API를 도입했습니다. Stream API의 independent() 메서드를 사용하여 배열에서 중복 요소를 제거할 수 있습니다.

import java.util.Arrays;  
import java.util.stream.Collectors;  
  
public class Main {  
    public static void main(String[] args) {  
        int[] array = {1, 2, 3, 2, 1, 4, 5, 4};  
        int[] distinctArray = Arrays.stream(array).distinct().toArray();  
        System.out.println(Arrays.toString(distinctArray));  // 输出 [1, 2, 3, 4, 5]  
    }  
}

2. HashSet 사용

HashSet은 중복 요소를 포함할 수 없는 집합입니다. 이를 사용하여 배열에서 중복 요소를 제거할 수 있습니다. 이 방법을 사용하면 원래 배열의 순서가 변경된다는 점에 유의해야 합니다.

import java.util.Arrays;  
import java.util.HashSet;  
import java.util.Set;  
  
public class Main {  
    public static void main(String[] args) {  
        int[] array = {1, 2, 3, 2, 1, 4, 5, 4};  
        int[] distinctArray = new int[new HashSet<>(Arrays.asList(array)).size()];  
        int i = 0;  
        for (int num : array) {  
            if (Arrays.binarySearch(distinctArray, num) < 0) {  
                distinctArray[i++] = num;  
            }  
        }  
        System.out.println(Arrays.toString(distinctArray));  // 输出 [1, 2, 3, 4, 5]  
    }  
}

3. TreeSet 사용

TreeSet은 순서가 지정된 세트이므로 중복된 요소를 포함할 수 없습니다. HashSet과 비교하여 TreeSet을 사용하면 원래 배열의 순서가 유지됩니다. 그러나 TreeSet을 사용하려면 요소를 저장하기 위한 추가 공간이 필요하므로 HashSet보다 메모리 사용량이 더 비쌀 수 있다는 점에 유의해야 합니다.

아아아아

위 내용은 Java 배열에서 중복을 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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