Java は Arrays クラスの stream() 関数を使用して配列をストリームに変換します

WBOY
リリース: 2023-07-26 13:45:24
オリジナル
2491 人が閲覧しました

Java は、Arrays クラスの stream() 関数を使用して配列をストリームに変換します

Java プログラミングでは、配列に対してさまざまな操作や処理を実行する必要があることがよくあります。 Java 8 のリリースにより、フロー プログラミングの概念が導入され、配列処理がより柔軟かつ簡潔になりました。 Arrays クラスの stream() 関数もその 1 つで、配列をストリーム オブジェクトに変換して、さまざまなストリーミング操作を簡単に実行できます。

いわゆるストリームとは、データが連続的に送信され、それに対してフィルタリング、計算、マッピングなどのさまざまな処理を行うことができます。配列の場合、ストリームを使用して処理するとコードが大幅に簡素化され、開発効率が向上します。ここでは、Arrays クラスの stream() 関数を使用して配列をストリームに変換する方法と、コード例を詳しく紹介します。

まず、java.util.Arrays クラスをインポートする必要があります。

import java.util.Arrays;

2 番目に、配列をデータ ソースとして定義します。ここでは例として整数配列を取り上げます。

int[] nums = {1, 2, 3, 4, 5};

次に、Arrays クラスの stream() 関数を使用して、配列をストリームに変換します。

Stream stream = Arrays.stream(nums);

このようにして、さまざまな操作に使用できるストリーム オブジェクト stream を取得します。

たとえば、forEach() 関数を使用してストリームを横断し、各要素を操作できます。

stream.forEach(System.out::println);

上記のコードでは、System クラスの println() メソッドが :: 演算子を通じて参照され、各要素が出力されます。管制塔。

さらに、フィルタリング、計算、マッピング、その他の操作も実行できます。

たとえば、filter() 関数を使用してストリームをフィルタリングし、条件を満たす要素のみを保持できます。

stream.filter(n -> n % 2 == 0)

  .forEach(System.out::println);
ログイン後にコピー
ログイン後にコピー

上記のコードでは、filter() 関数を使用して配列内の偶数を保持し、出力します。それらをコンソールに送ります。

別の例として、map() 関数を使用してストリーム内の各要素をマップできます。

stream.map(n -> n * n)

  .forEach(System.out::println);
ログイン後にコピー
ログイン後にコピー

上記のコードでは、map() 関数を使用して配列内の各要素を 2 乗し、コンソールに出力します。

一般的な操作に加えて、reduce() 関数を使用してストリームに対してリダクション操作を実行することもできます。

int sum = stream.reduce(0, (a, b) -> a b);
System.out.println(sum);

上記のコードでは、reduce ( ) 関数は 2 つのパラメータを受け取ります。最初のパラメータはリダクションの初期値で、2 番目のパラメータはストリーム内の要素をリダクションするために使用されるバイナリ演算です。ここで使用される二項演算は、2 つの数値を加算することです。最後に、配列内の要素を追加して合計を取得し、コンソールに出力します。

ストリームは 1 回だけ消費できる、つまり、上記の操作は 1 回だけ実行できることに注意してください。同じストリームに対して複数の操作を実行する場合は、ストリーム オブジェクトを再作成する必要があります。

要約すると、Java の Arrays クラスの stream() 関数を使用して配列をストリームに変換するのは、非常に便利で実用的な方法です。フロー プログラミングにより、配列の操作と処理の効率が大幅に向上すると同時に、コードがより簡潔で読みやすくなります。上記のコード例が読者の役に立つことを願っています。

以上がJava は Arrays クラスの stream() 関数を使用して配列をストリームに変換しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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