、フィルタの流れは、明確な、スキップ:
1つの パッケージcom.cy.java8。 2 3 インポートjava.util.Arrays。 4 インポートjava.util.Listに。 5 輸入java.util.stream.Collectors。 6 7 パブリック クラスStreamFilter { 8 9 パブリック 静的 ボイドメイン(文字列[]引数){ 10 一覧<整数>リストは、Arrays.asList =(1、2、3、4、5、6、6、7、7、8 ) ; 11 12 // 取出偶数 13 。一覧<整数>結果= list.stream()フィルタ(I - > I%2 == 0 ).collect(Collectors.toList())。 14 System.out.println(結果); 15 16 // 重複排除 。17 リスト<整数> =結果1のDISTINCT list.stream()()を収集(Collectors.toList()); .. 18である のSystem.out.println(結果1) ; 19 20 //は5つの要素をスキップ 21で 一覧<整数> =結果2 list.stream()スキップ(5.。.collect(Collectors.toList())); 22である のSystem.out.println(結果2); 23れます 24 // どこ先行5 25 一覧<整数> = result3 list.stream()限界(5。).collect(Collectors.toList()); 26である のSystem.out.println(result3); 27 } 28 }
印刷結果:
[2、4、6、6、8] [1、2、3、4、5、6、7、8] [6、6、7、7、8] [1、2、3、4、5]
二、マップ、flatMapのストリーム:
1つの パッケージcom.cy.java8。 2 3 インポートjava.util.Arrays。 4 インポートjava.util.Listに。 5 輸入java.util.stream.Collectors。 6 インポートjava.util.stream.Stream。 7 8 パブリック クラスStreamMap { 9 10 パブリック 静的 ボイドメイン(文字列[]引数){ 11 一覧<整数>リストは、Arrays.asList =(1、2、3、4、5、6、6、7、7、8 ) ; 12 13 // リスト集合中每个数放大两倍 14 。一覧<整数>結果1 = list.stream()マップ(私は- >私は2 *).collect(Collectors.toList()); 15 のSystem.out.println(結果1); 16 17。 // 返すだけ皿名 18が ..リストの<string>結果2 = listDish()ストリーム()地図(D - > d.getName())コレクト(Collectors.toList());. 19。 のSystem.out.println(結果2); 20は 21である / ** 22れる 需要*:Hello Worldのワードと重複した文字を削除する 23がある *フラットflatMap (フラット) 24 * / 25 [] = {単語"こんにちは"、 "その他"の文字列}; 26である // {H、E、L、L、O}、{WはOであり、R&LT、L、D} 27 ストリームの<string []>ストリーム= Arrays.stream(ワード).MAP(W - > w.split( ""));// ストリームの<string []> 28 // H、E、L、L、O、W、O、R、L、D 29 ストリームの<string>にstringstream = stream.flatMap(配列::ストリーム)。 30 リストの<string> result3 = 。stringStream.distinct()を収集(Collectors.toList())。 31 のSystem.out.println(result3)。 32 } 33 34 プライベート 静的リスト<皿> listDish(){ 35 リスト<皿>メニュー= は、Arrays.asList( 36 新しいディッシュ( "豚肉"、偽、800 、Dish.Type.MEAT)、 37 新しいディッシュ(「牛肉」、偽、700 、Dish.Type.MEAT)、 38 新しいディッシュ( "ニワトリ"、偽、400 、Dish.Type.MEAT)、 39 新しいディッシュ( "フライドポテト"、真、530 、Dish.Type.OTHER)、 40 新しいディッシュ( "米"、真、350 、Dish.Type.OTHER)、 41 新しいディッシュ( "シーズン果物"、真、120 、Dish.Type.OTHER)、 42 新しいディッシュ( "ピザ"、真、550 、 Dish.Type.OTHER)、 43 の新しいディッシュ( "エビ"、偽、300 、Dish.Type.FISH)、 44 新ディッシュ( "サーモン"、偽、450 、Dish.Type.FISH)); 45 リターンメニュー。 46 } 47 }
印刷結果:
[2、4、6、8、10、12、12、14、14、16] [豚肉、牛肉、鶏肉、フライドポテト、米、季節のフルーツ、ピザ、エビ、サケ] [H、E、L、O 、W、R、D]
三、試合の流れ、見つける、減らします:
-----