ホームページ  >  記事  >  Java  >  Java での関数操作に Stream 関数を使用する方法

Java での関数操作に Stream 関数を使用する方法

王林
王林オリジナル
2023-10-19 11:19:43568ブラウズ

Java での関数操作に Stream 関数を使用する方法

Java で関数操作に Stream 関数を使用する方法

はじめに:
Java 8 のリリースでは、Stream API が導入され、関数型プログラミングが可能になりました。より便利になります。 Stream API は、コレクション データを処理するための効率的で使いやすい方法を提供します。この記事では、Java での関数操作に Stream 関数を使用する方法と、具体的なコード例を紹介します。

  1. Stream の概要
    Stream は、コレクション データを処理するための API であり、ストリーミング処理メソッドを提供します。ストリームを使用して、コレクションのフィルタリング、マップ、並べ替え、および集約を行うことができます。ストリームの特徴は次のとおりです。
  2. データ ソースは、コレクション、配列、I/O チャネルなどです。
  3. フィルタリング、マッピング、並べ替えなどの一連の中間操作を実行できます。
  4. 集約、コレクション、トラバーサルなどの端末操作を実行できます。
  5. 必要なときだけ計算できる遅延評価とショート評価の特性を備え、効率が向上します。
  6. ストリームの作成
    関数操作に Stream 関数を使用する前に、まず Stream オブジェクトを作成する必要があります。 Stream オブジェクトは、コレクションまたは配列の stream メソッドを呼び出すことで作成できます。例:
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
Stream<Integer> stream = list.stream();
  1. Stream の中間操作
    Stream は、データを処理するための一連の中間操作を提供します。一般的に使用される中間操作には、フィルタリング、マッピング、並べ替えなどが含まれます。以下に、一般的に使用されるいくつかの中間操作とその使用方法を示します。
  • フィルター: コレクション内の要素をフィルターするために使用されます。たとえば、3 以上の要素をフィルターで除外します。
List<Integer> result = list.stream()
    .filter(n -> n >= 3)
    .collect(Collectors.toList());
System.out.println(result); // 输出:[3, 4, 5]
  • Mapping (map): コレクション内の要素を別の型にマップするために使用されます。たとえば、セット内の要素を二乗して新しいセットに収集します。
List<Integer> result = list.stream()
    .map(n -> n * n)
    .collect(Collectors.toList());
System.out.println(result); // 输出:[1, 4, 9, 16, 25]
  • 並べ替え (並べ替え): セット内の要素を並べ替えるために使用されます。たとえば、コレクションを昇順に並べ替えるには、次のようにします。
List<Integer> result = list.stream()
    .sorted()
    .collect(Collectors.toList());
System.out.println(result); // 输出:[1, 2, 3, 4, 5]
  1. Stream の端末操作
    Stream の端末操作は、データの要約、収集、および走査に使用されます。一般的に使用されるターミナル操作には、集約、コレクション、およびトラバーサルが含まれます。以下に、一般的に使用される端末操作とその使用方法を示します。
  • 集計 (reduce): コレクション内の要素に対して集計操作を実行するために使用されます。たとえば、セット内の要素の合計を計算するには:
int result = list.stream()
    .reduce(0, (a, b) -> a + b);
System.out.println(result); // 输出:15
  • Collect (収集): セット内の要素を新しいセットに収集するために使用されます。たとえば、セット内の奇数を新しいリストに収集します。
List<Integer> result = list.stream()
    .filter(n -> n % 2 != 0)
    .collect(Collectors.toList());
System.out.println(result); // 输出:[1, 3, 5]
  • Traversal (forEach): セット内の要素を走査するために使用されます。たとえば、コレクション内の要素を出力します。
list.stream()
    .forEach(System.out::println);

概要:
Stream 関数による関数操作により、コードの可読性と保守性が向上します。この記事では、Java での関数操作に Stream 関数を使用する方法を説明し、具体的なコード例を示します。 Stream APIを利用することで収集データをより簡潔かつ効率的に処理できるため、開発効率が向上します。 Java を使用して収集処理を行う場合は、Stream API の強力な機能を最大限に活用することをお勧めします。

以上がJava での関数操作に Stream 関数を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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