Java の IntStream 関数は、Java 8 で新しく導入された関数インターフェイスです。整数型データに対して、フィルタリング、マッピング、コレクション、その他の操作を含むストリーミング操作を実行できます。この記事では、数値ストリーム操作に IntStream 関数を使用する方法を紹介します。
1. IntStream 関数の概要
IntStream は Java の関数インターフェイスであり、基本型が int である要素のストリームを表します。 Stream インターフェイスを継承し、基本型 int のメソッドを追加します。
IntStream のメソッドは、主に次の 4 つのカテゴリに分類されます。
2. IntStream 関数の基本的な使用法
IntStream の使用法は基本的に Stream の使用法と同じで、IntStream.range メソッドを使用して整数ストリームを作成できます。指定された範囲:
IntStream intStream = IntStream.range(1, 10);
IntStream.of メソッドを使用して、指定された要素の整数ストリームを作成することもできます:
IntStream intStream = IntStream.of(1, 3, 5, 7, 9);
IntStream.iterate メソッドを使用して反復ストリームを作成することもできます:
IntStream intStream = IntStream.iterate(1, n -> n + 2).limit(5); intStream.forEach(System.out::println);//1 3 5 7 9
ストリームを作成した後、変換のための中間操作を使用できます。たとえば、map メソッドを使用して各要素を乗算することができます。
IntStream intStream = IntStream.range(1, 10); intStream.map(n -> n * 2).forEach(System.out::println);//2 4 6 8 10 12 14 16 18
また、filter メソッドを使用して、条件を満たす要素をフィルタリングして除外することもできます。
IntStream intStream = IntStream.range(1, 10); intStream.filter(n -> n % 2 == 0).forEach(System.out::println);//2 4 6 8
中間操作の完了後、終了操作を使用して、統計、収集、その他の操作を完了できます。たとえば、sum メソッドを使用してストリームを合計することができます:
IntStream intStream = IntStream.range(1, 10); int sum = intStream.filter(n -> n % 2 == 0).sum(); System.out.println(sum);//20
また、toArray メソッドを使用してストリーム内の要素を配列に変換することもできます:
IntStream intStream = IntStream.range(1, 10); int[] arr = intStream.filter(n -> n % 2 == 0).toArray(); System.out.println(Arrays.toString(arr));//[2, 4, 6, 8]
3. 高度な使用法IntStream 関数の
IntStream には、 flatMap、reduce、collect などのメソッドなど、より高度な用途もあります。これらのメソッドの使用方法を以下に紹介します。
flatMap メソッドは、ストリームの各要素をストリームにマップし、これらの小さなストリームを 1 つの大きなストリームにマージできます。たとえば、 flatMap メソッドを使用して各数値を対応する文字列に変換し、これらの文字列をストリームにマージできます。
IntStream intStream = IntStream.range(1, 5); Stream<String> stream = intStream.flatMap(n -> Stream.of(String.valueOf(n))); stream.forEach(System.out::println);//"1" "2" "3" "4"
reduce メソッドストリーム内の要素は、合計や積などの値に還元できます。 Reduce メソッドを使用して、int 型のストリームを合計することができます。
IntStream intStream = IntStream.range(1, 5); int sum = intStream.reduce(0, (a, b) -> a + b); System.out.println(sum);//10
collect メソッドは、ストリーム内の要素をコンテナに収集できます。 List 、 Set 、 Map などcollect メソッドを使用して、int 型ストリームを List に収集できます。
IntStream intStream = IntStream.range(1, 5); List<Integer> list = intStream.boxed().collect(Collectors.toList()); System.out.println(list);//[1, 2, 3, 4]
4. まとめ
この記事では、Java の IntStream 関数の基本的な使用法と高度な使用法を紹介します。 IntStream 関数は、int 型の要素に対してストリーミング操作を実行でき、豊富な中間操作と終了操作を提供するため、さまざまな数値計算やデータ収集タスクを簡単に完了できます。この記事の紹介を通じて読者が IntStream 関数の使い方をマスターし、将来の Java 開発作業が容易になることを願っています。
以上がJava で IntStream 関数を使用して数値ストリーム操作を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。