ホームページ  >  記事  >  Java  >  Java で Stream API を使用してコレクションに対して関数操作を実行するにはどうすればよいですか?

Java で Stream API を使用してコレクションに対して関数操作を実行するにはどうすればよいですか?

WBOY
WBOYオリジナル
2023-08-02 15:13:091002ブラウズ

Java で Stream API を使用してコレクションに対して関数操作を実行するにはどうすればよいですか?

Java 8 のリリースでは、Stream API が導入され、コレクションに対する関数操作がより簡潔かつ効率的になりました。 Stream API は、コレクションを処理する新しい方法を提供します。これにより、宣言的な方法でコレクションを操作できるため、コードの複雑さが軽減され、コードの可読性と保守性が向上します。この記事では、Java で Stream API を使用してコレクションに対して関数操作を実行する方法を詳しく紹介します。

まず、Stream API の基本概念を理解する必要があります。ストリームは、配列、コレクションなどの任意のデータ ソースから取得できるデータ要素のシーケンスを表します。ストリームとコレクションの違いは、データ自体を保存するのではなく、オンデマンドで計算されたデータを保存することです。つまり、新しいコレクションを作成せずにデータに対して複数の操作を実行できます。 Stream API は、データのフィルタリング、マッピング、並べ替え、その他の操作のためのさまざまなメソッドを提供します。これらのメソッドをチェーンで呼び出して処理フローを形成し、最終的に必要な結果を得ることができます。

以下では、いくつかの例を使用して、Stream API を使用してコレクションに対して関数操作を実行する方法を示します。

  1. データのフィルタリング

まず、filter メソッドを使用して、条件を満たすデータをフィルタリングします。たとえば、整数のセットがあり、10 より大きい要素を見つけたいとします。

List<Integer> numbers = Arrays.asList(1, 5, 10, 15, 20);
List<Integer> result = numbers.stream()
                              .filter(n -> n > 10)
                              .collect(Collectors.toList());
System.out.println(result); // 输出 [15, 20]
  1. データの変換

データのフィルタリングに加えて、map メソッドを使用してデータをマッピングすることもできます。たとえば、文字列のコレクションがあり、各文字列を大文字に変換したいとします。

List<String> words = Arrays.asList("hello", "world", "Java", "stream");
List<String> result = words.stream()
                           .map(String::toUpperCase)
                           .collect(Collectors.toList());
System.out.println(result); // 输出 [HELLO, WORLD, JAVA, STREAM]
  1. データの並べ替え

さらに、sorted メソッドを使用してデータを並べ替えることもできます。たとえば、整数のコレクションがあり、それらを最小値から最大値の順に並べ替えたいとします。

List<Integer> numbers = Arrays.asList(5, 2, 10, 1, 8);
List<Integer> result = numbers.stream()
                              .sorted()
                              .collect(Collectors.toList());
System.out.println(result); // 输出 [1, 2, 5, 8, 10]
  1. 統計データ

さらに、Stream API は、カウント、最小、最大、合計などのいくつかの単純な統計メソッドも提供します。たとえば、一連の整数があり、それらの平均を計算したいとします。

List<Integer> numbers = Arrays.asList(5, 2, 10, 1, 8);
double average = numbers.stream()
                        .mapToDouble(Integer::doubleValue)
                        .average()
                        .orElse(0);
System.out.println(average); // 输出 5.2

上記の例を通して、Stream API を使用するとコードがより明確かつ簡潔になることがわかります。 Stream API は、フィルタリング、マッピング、並べ替え、統計、その他の操作のための豊富なメソッドを提供します。これらのメソッドを連鎖させることで、複雑なデータ処理ロジックを実装できます。同時に、Stream API は並列処理のサポートも提供し、マルチコア プロセッサの利点を最大限に活用し、処理効率を向上させることができます。

要約すると、Java で Stream API を使用してコレクションに対して関数操作を実行すると、コードが大幅に簡素化され、コードの可読性と保守性が向上します。この記事の紹介を通じて、Stream API の使用方法をより深く理解できれば幸いです。 Stream APIが提供する強力な機能を使いこなして、実際の開発を効率化してみましょう。

以上がJava で Stream API を使用してコレクションに対して関数操作を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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