ホームページ  >  記事  >  Java  >  Java配列から重複を削除する方法は何ですか?

Java配列から重複を削除する方法は何ですか?

DDD
DDDオリジナル
2023-12-22 16:26:171572ブラウズ

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 のdistinct() メソッドを使用して、配列から重複した要素を削除できます。

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 よりもメモリ使用量が高くなる可能性があることに注意してください。

rree

以上がJava配列から重複を削除する方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。