ホームページ >Java >&#&チュートリアル >Java 8 のストリーム API:distinct() メソッドを使用してコレクションから重複要素を削除する方法

Java 8 のストリーム API:distinct() メソッドを使用してコレクションから重複要素を削除する方法

PHPz
PHPzオリジナル
2023-07-29 16:04:512301ブラウズ

Java 8 の Stream API:distinct() メソッドを使用してコレクション内の重複要素を削除する方法

Java 8 では、新しいデータ処理メソッドであるコレクション データを提供する Stream API が導入されました。より正確かつ効率的に処理できます。一般的な操作の 1 つは、コレクションから重複した要素を削除することです。 Java 8 の Stream API には、この関数を簡単に実装するための distinct() メソッドが用意されています。

まず、Stream API の基本的な使い方を理解する必要があります。ストリームは Java 8 の新しいデータ型で、一連の要素を表し、さまざまな操作を実行できます。コレクションの stream() メソッドを呼び出して Stream オブジェクトを取得し、その Stream オブジェクトに対してさまざまな操作を実行して、最終的に結果を新しい Stream オブジェクトまたはその他の形式のデータとして返すことができます。 Stream API は、フィルタリング、マッピング、並べ替え、集計、その他の操作のための一連のメソッドを提供します。

distinct() メソッドを使用してコレクション内の重複要素を削除するのは非常に簡単です。コレクションを Stream オブジェクトに変換してから、distinct() メソッドを呼び出すだけです。 distinct() メソッドは、元の Stream オブジェクト内の重複排除された要素を含む新しい Stream オブジェクトを返します。

以下は、distinct() メソッドを使用してコレクション内の重複要素を削除する方法を示すサンプル コードです。

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class DistinctExample {
    public static void main(String[] args) {

        List<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);

        System.out.println("原始集合:" + numbers);

        List<Integer> distinctNumbers = numbers.stream()
                                               .distinct()
                                               .collect(Collectors.toList());

        System.out.println("去重后的集合:" + distinctNumbers);
    }
}

上の例では、重複要素を含む List コレクションを作成しました。 。次に、数値コレクションの stream() メソッドを呼び出して、それを Stream オブジェクトに変換します。次に、distinct() メソッドを呼び出して重複要素を削除し、collect(Collectors.toList()) を通じて結果を新しい List コレクションに変換します。

上記のコードを実行すると、次の出力が得られます:

元のセット: [1, 2, 3, 1, 2, 3]
重複排除後: [ 1, 2 , 3]

ご覧のとおり、distinct() メソッドを使用して、コレクションから重複要素を正常に削除しています。

distinct() メソッドは、要素の equals() メソッドに基づいて重複を削除することに注意してください。コレクション内の要素がカスタム オブジェクトである場合は、そのオブジェクトがquals() メソッドを正しく実装していることを確認する必要があります。

さらに、distinct() メソッドを使用してオブジェクトの重複を排除することもできます。オブジェクトクラスにequals()メソッドを正しく実装するだけです。

要約すると、Java 8 の Stream API は、コレクションから重複要素を削除するための簡潔かつ効率的な方法を提供します。この関数は、distinct() メソッドを呼び出すことで簡単に実装できます。 Stream API を使用すると、退屈なコードが削減され、コードの可読性と保守性が向上します。 Java 8 の Stream API を試したことがない場合は、今すぐ学習して適用してください。

以上がJava 8 のストリーム API:distinct() メソッドを使用してコレクションから重複要素を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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