Java8のStream API flatMapメソッドの使い方
flatMapメソッドを使って変換して平坦にします。listのlistを作成します。
この変数をflatMapメソッドで変換後に平坦にします。
package jp.co.confrage;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Sample {
public static void main(String[] args) {
List<Integer> a = Arrays.asList(10, 100);
List<Integer> b = Arrays.asList(1, 3, 5);
List<Integer> c = Arrays.asList(2, 4, 6);
List<List<Integer>> nestedlist = Arrays.asList(a, b, c);
System.out.println(nestedlist); // [[10, 100], [1, 3, 5], [2, 4, 6]]
List<Integer> flatten =
nestedlist.stream().flatMap(x -> x.stream()).collect(Collectors.toList()); // 注
System.out.println(flatten); // [10, 100, 1, 3, 5, 2, 4, 6]
}
}
flatMapの引数をx -> x.stream()として、各ストリームを一つのstreamに纏めています。
注:Java16から以下メソッド追加されました。
.collect(Collectors.toList());
↓
.toList();

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^


コメント