Java 8 のストリーム API:reduce() メソッドを使用してコレクションに対して集計操作を実行する方法

王林
リリース: 2023-07-30 22:07:58
オリジナル
1207 人が閲覧しました

Java 8 の Stream API:reduce() メソッドを使用してコレクションに対して集計操作を実行する方法

はじめに:
Java 8 では、より強力で強力な機能を提供する Stream API が導入されました。コレクションデータを操作する便利な方法。 Stream API のreduce() メソッドは、コレクションの集計操作において重要な役割を果たします。この記事では、reduce() メソッドの使用法を紹介し、いくつかのコード例を示します。

1.reduce() メソッドの概要
reduce() メソッドは、コレクションに対する集計操作のための Stream API のコア メソッドの 1 つです。これは、コレクション要素がどのように集約されるかを定義する BinaryOperator 型のパラメーターを受け入れます。 reduce() メソッドは、コレクションの要素に 1 つずつ集計操作を適用し、オプションの結果を返します。

reduce() メソッドには 2 つのオーバーロード バージョンがあります:

  1. Treduce(Tidentity,BinaryOperatoraccumulator)
  2. Optionalreduce(BinaryOperator< ;T> アキュムレータ)

reduce() メソッドの最初のバージョンは、初期値の ID と二項演算子のアキュムレータを受け入れます。計算の開始点として初期値を取得し、各要素をアキュムレータに適用し、最終的に集計結果を返します。

reduce() メソッドの 2 番目のバージョンは、二項演算子アキュムレータのみを受け入れます。初期値を提供しないため、考えられる結果を表す Optional オブジェクトを返します。

2.reduce() メソッドの使用例

以下は、reduce() メソッドのさまざまな使用法を示すいくつかのコード例です:

  1. はい コレクション要素の合計:
    List数値 = Arrays.asList(1, 2, 3, 4, 5);
    int sum =数値.stream()

             .reduce(0, (a, b) -> a + b);
    ログイン後にコピー

    System. out .println(sum); // 出力: 15

  2. コレクション要素の最大値を検索します:
    Listnumbers = Arrays.asList(1, 2, 3, 4 , 5);
    Optional max =numbers.stream()

                            .reduce(Integer::max);
    ログイン後にコピー

    System.out.println(max.orElse(0)); // 出力: 5

  3. 文字列を連結します:
    List strings = Arrays.asList("Java", "Stream", "API");
    String result = strings.stream()

                    .reduce("", (a, b) -> a + " " + b);
    ログイン後にコピー

    System.out.println(result); // 出力: Java Stream API

  4. カスタム集計操作:
    List people = Arrays.asList (
    新しい人("アリス", 20),
    新しい人("ボブ", 30),
    新しい人("チャーリー", 25)
    );
    int totalAge = people.stream()

                  .reduce(0, (sum, p) -> sum + p.getAge(), (a, b) -> a + b);
    ログイン後にコピー

    System.out.println(totalAge); // 出力: 75

この例では、合計するカスタム二項演算子を使用します。人物オブジェクトの年齢。

結論:
reduce() メソッドは、コレクション集約操作のための Stream API の重要なメソッドの 1 つです。 reduce() メソッドを使用すると、セットの要素の合計、最大値の取得、文字列の連結などの操作を実行できます。実際の開発では、必要に応じて二項演算子をカスタマイズして、より複雑な集計演算を実装できます。 reduce() メソッドの使用に熟練すると、コードをより簡潔かつ効率的にすることができます。

以上がJava 8 のストリーム API:reduce() メソッドを使用してコレクションに対して集計操作を実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!