JavaのflatMapは、Stream内の各要素をStreamにマッピングし、すべてのStreamを1つのStreamに結合する操作です。

flatMap関数は、1対多のマッピングに使用することができます。たとえば、文字列のリストからそれぞれの文字列を単一の文字に分割し、すべての文字を1つの文字列ストリームに結合することができます。

flatMapを使用した例を以下に示す:

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

public class FlatMapExample {
    public static void main(String[] args) {
        List<String> words = Arrays.asList("Hello", "World");

        List<String> characters = words.stream()
                .flatMap(word -> Arrays.stream(word.split(""))) // 将每个单词拆分为字符流
                .collect(Collectors.toList());

        System.out.println(characters); // 输出:[H, e, l, l, o, W, o, r, l, d]
    }
}

上記の例では、最初に文字列リストwordsが作成され、それをstream()メソッドでストリームに変換します。次に、flatMap操作を使用して各単語を分割し、それぞれの単語を文字のストリームに変換します。最後に、collectメソッドを使用してすべての文字を1つのリストに収集し、出力します。

flatMapを使用すると、ストリームが返されるので、その後に他のストリーム操作を連鎖的に呼び出すことができることに注意してください。

bannerAds