Javaでストリームの最初の要素を検索する

WBOY
リリース: 2023-09-03 10:05:03
転載
671 人が閲覧しました

Javaでストリームの最初の要素を検索する

Java の Stream API は、データ収集を処理するための強力なツールです。ここでの典型的な使用例では、特定の原則に一致するストリームの最初のエントリを検索する必要があります。このようなタスクを処理するいくつかの方法を、コード例と説明とともに提供します。

###文法###

Java ストリームの最初の要素を作成するには、次の構文を使用します -

リーリー

この例では、注目すべきシンボルには、要素の列挙を指す「stream」、これらの機能をフィルタリングするために使用される述語を示す「condition」、そして最後にオプションのコンテナである「firstElement?」が含まれます。その特定の構成に対して提供された最初のオブジェクトを保存したり、空のままにしたりすることができます。

用語の説明

フィルターは、ストリーム内で見つかった各連続コンポーネントに関する複雑な仕様を形成します。これらの要件を満たすオブジェクトのみが、その後の懸念に関連します。 findFirst などの無料ユーティリティ操作は、基本フローのコンポーネントを含む、この検出メソッドに関連付けられたオプションの項目を決定するか、無効なコンポーネントが該当する規制上の統合取り決めの冗長基準を満たしていないと単に想定します。

方法1

###アルゴリズム###

要素のコレクションからストリームを作成します。

  • 必要な条件に一致するようにストリームにフィルターを適用します。

  • findFirst メソッドを使用して、最初に一致した要素の Optional オブジェクトを取得します。

  • Optional オブジェクトが空であるか、値が含まれているかどうかを確認してください。

  • Optional オブジェクトが空でない場合は、get メソッドを使用して最初の要素を取得します。

  • ###例### リーリー ###出力### リーリー

    イラスト

  • 選択された要素のリストと比較基準という 2 つのデータ入力を受け入れる findFirstElement という静的関数を作成することをお勧めします。

この機能にはプロセスを簡素化する手順が含まれます。まず、リストをストリーム関数に変換し、次にフィルターを使用して条件を適用します。このフェーズの後、findFirst メソッドは一致する要素を表示します。一致するものが見つからない場合に null 結果を返すように、オプションのオブジェクトに対して「orElse」メソッドを実装します。

これらの提案された戦略は、前述の手順を使用してどの整数が 3 より大きいかをチェックする main 関数で示されているように、信頼できる結果を生成します。

方法 2

###アルゴリズム###

要素のコレクションからストリームを作成します。

limit メソッドを使用して、ストリームを 1 つの要素に制限します。

    findFirst メソッドを使用して、制限されたストリームの最初の要素の Optional オブジェクトを取得します。
  • Optional オブジェクトが空であるか、値が含まれているかどうかを確認してください。
  • Optional オブジェクトが空でない場合は、get メソッドを使用して最初の要素を取得します。
  • ###例### リーリー ###出力### リーリー
  • イラスト
  • プロシージャの説明をより明確かつスタイリッシュにするために、この手法では findFirstElement と呼ばれる静的モジュールを構築する必要があります。このモジュールは、呼び出されたときに、大部分が要素で構成されるコレクションを引数として受け取る必要があります。このモジュールのロジックには、List

    -> Stream
  • からの変換、Stream
  • -> Stream

    の制限、Stream

    から要求された要素の取得 -> .findFirst( );Optional =null-> .orElse(null) の場合、後続の処理。 main() での明確な例として、別のリストに含まれる文字列を使用する方法を別途説明します。
方法 3

###アルゴリズム###

要素のコレクションからストリームを作成します。

フィルタリング方法を使用して、必要な条件に一致させます。 findFirst メソッドを使用して、最初に一致した要素の Optional オブジェクトを取得します。

Optional オブジェクトが空であるか、値が含まれているかどうかを確認してください。

  • Optional オブジェクトが空でない場合は、get メソッドを使用して最初の要素を取得します。

  • メソッド 3 の完全な実行可能コード -

  • ###例### リーリー ###出力### リーリー

    イラスト

  • 静的操作 findFirstElement を使用して、配列の最初に一致する要素を検索できます。この機能には、関連する要素と検索条件が必要です。メソッドの初期評価には、Arrays.stream による解析、コンポーネントの元のコレクションをストリーム形式に変更してから、フィルタリング要件や findFirst() を実装するためのフィルター メソッドなどの主要なプロセスを適用することが含まれます。空の orElse を管理するには、null に設定します。これらのレベルのオプションのオブジェクトにより、実際の使用におけるギャップや問題を回避できます。
  • 「B」で始まるフルーツのみが必要な場合は、呼び出し中にフルーツ配列と「B」を設定パラメーターとして渡すことができます。 findFirstElement メソッドの実装は、これらの要件を満たす最初の一致要素を返すため、以前に確立された完全なデータ コレクションを利用できるようになります。

  • 方法 4
  • ###アルゴリズム###

  • 要素のコレクションからストリームを作成します。
  • findFirst メソッドを使用して、ストリームの最初の要素を含むオプションのオブジェクトを取得します。

Optional オブジェクトが空であるか、値が含まれているかどうかを確認してください。

Optional オブジェクトが空でない場合は、get メソッドを使用して最初の要素を取得します。

示例

import java.util.Optional;
import java.util.stream.Stream;

public class FirstElementFinder {
   public static <T> T findFirstElement(Stream<T> stream) {
      Optional<T> firstElement = stream.findFirst();
      return firstElement.orElse(null);
   }

   public static void main(String[] args) {
      Stream<Integer> numbers = Stream.of(1, 2, 3, 4, 5);
      Integer firstElement = findFirstElement(numbers);
      System.out.println("First element: " + firstElement);
   }
}
ログイン後にコピー

输出

First element: 1
ログイン後にコピー

说明

在此方法中,我们创建一个静态方法 findFirstElement,它将元素流作为输入参数。作为该方法执行的一部分,我们利用 findFirst 从流中获取初始元素。在Optional对象表示空值的情况下,我们通过orElse选择null。在 main 方法中,我们演示了 findFirstElement 与整数流的用法。

结论

为了确定如何通过 Java 编程语言访问流的初始元素,最重要的是我们研究各种可用的方法;特别是因为每个选择都为这个普遍存在的问题提供了可接受的解决方案 - 取决于其必要的目标。本文旨在通过解释示例来提供对每种技术的见解,同时确保所获得的理解可以在用户的​​个人项目中自信地运用。我们鼓励在选择专门针对其应用程序类型定制的方法之前评估性能优化、可持续性和编码效率等关键方面。

以上がJavaでストリームの最初の要素を検索するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート