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(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント