ホームページ > Java > &#&チュートリアル > Java 8 のストリーム API: map() メソッドを使用してコレクションに対して変換操作を実行する方法

Java 8 のストリーム API: map() メソッドを使用してコレクションに対して変換操作を実行する方法

WBOY
リリース: 2023-07-29 10:33:13
オリジナル
1728 人が閲覧しました

Stream API は Java 8 で導入され、データ収集を操作する新しい方法を提供します。ストリーム API を使用すると、よりシンプルかつ柔軟な方法でコレクションを操作できます。map() メソッドは一般的に使用される変換操作です。

Java 8 より前では、コレクションを変換するときは、通常、for ループまたはイテレーターを使用してコレクション内の要素を走査し、1 つずつ処理する必要がありました。ストリームのmap()メソッドを使用すると、コレクションをより簡単に変換でき、操作プロセスが簡素化されます。

まず、map() メソッドの定義を理解しましょう。 map() メソッドはストリーム API の中間操作です。関数をパラメータとして受け取ります。この関数はストリーム内の各要素に適用され、新しい要素にマップされます。最後に、map() メソッドは、新しい要素を含むストリームを返します。

次は、map() メソッドを使用してコレクションを変換するサンプル コードです。

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class MapExample {
    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        numbers.add(5);

        List<Integer> squaredNumbers = numbers.stream()
                .map(n -> n * n)
                .collect(Collectors.toList());

        System.out.println("原始集合: " + numbers);
        System.out.println("转换后的集合: " + squaredNumbers);
    }
}
ログイン後にコピー

上記のサンプル コードでは、最初に整数を含むコレクション番号を作成します。次に、stream() メソッドを呼び出してストリームに変換します。次に、map() メソッドを呼び出し、関数 (n -> n * n) をパラメータとして渡します。この関数が行うことは、ストリーム内の各要素 n を n の 2 乗にマッピングすることです。最後に、collect() メソッドを使用して、変換された要素を新しいリストに収集します。

上記のコードを実行すると、出力は次のようになります:

原始集合: [1, 2, 3, 4, 5]
转换后的集合: [1, 4, 9, 16, 25]
ログイン後にコピー

元のコレクション内の各要素が 2 乗され、新しい要素が新しいリストに収集されていることがわかります。

上記の例に加えて、map() メソッドを使用して、より複雑な変換操作を実装することもできます。たとえば、文字列コレクション内のすべての文字列を大文字に変換したり、コレクション内のオブジェクトの特定の属性を抽出して新しいコレクションを形成したりできます。 map() メソッドは、渡した関数ロジックに従って要素を変換でき、非常に柔軟です。

要約すると、Java 8 のストリーム API は、コレクションに対して変換操作を実行する便利な方法を提供します。 map() メソッドはそのコア メソッドの 1 つで、渡した関数に従ってストリーム内の要素を新しい要素にマップし、新しい要素を含むストリームを返すことができます。 map() メソッドを使用すると、コレクションをより簡潔かつ柔軟に変換でき、コードの可読性と保守性が向上します。

以上がJava 8 のストリーム API: map() メソッドを使用してコレクションに対して変換操作を実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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