オペレーティングScalaの研究ノート-10-コンテナ

  • トラバーサル
    • リストトラバーサル
ヴァルLIST1 =(1〜100).toList 

list1.foreach(I =>のprintln(i))を

LIST1のforeach(I =>のprintln(i))を

LIST1のforeachのprintln
    •  地図トラバーサル
スカラ>ヴァルmapDogs =マップ( " huahua" - > " シュナウザー"、 "erdan" - > "秋田"、 "幸せ" - > "テディベア")
スカラ> mapDogsのforeach {キロボルト=>のprintln(キロボルト。 + _1 ":" + kv._2)}
huahua:シュナウザー
erdan:秋田
幸せ:テディ

// mapDogsのforeach {X => X一致{場合(K、V)=>のprintln(K + ":" + V)}} //以下の短縮形である
スカラ> mapDogsのforeach {ケース(K、V)=>のprintln(K + ":" + V)}
huahua:シュナウザー
erdan:秋田
幸せ:テディ

  •  地図()メソッドオンマッピング[]

この関数は新しい要素にマッピングし、コレクションの各要素に適用されます。この方法は、新しいコンテナサイズの同じタイプの元の容器のマップを返し、異なる要素タイプであってもよいです。

スカラ>ヴァルdogList =リスト( "ハッピー"、 "huahua"、 "erdan"、 "hongshao")
最初に書かれた//:プレースホルダ書かれた
スカラ> dogList.map(_ toUpperCaseの。) // 中央にも書かれてでき
res41:リスト[文字列] =リスト(HAPPY、huahua、ERDAN、HONGSHAO)
//第2の書き込み:匿名の直接伝達関数
スカラ> dogList.map(X => x.toUpperCase )// 中心書き込むことができる
res42を:リスト[文字列] =リスト(HAPPY、huahua、ERDAN、HONGSHAO)
//第三の書き込み:匿名関数を定義し、次に通過
スカラ>ヴァルアッパー:文字列=> {列= STR => str.toUpperCase} 
アッパー:列=>文字列= <関数1> 

スカラ> dogList.map(アッパー)//家庭で書くことができる
res43:リスト[文字列] =リスト(HAPPY、huahua、ERDAN、HONGSHAO)

//第四文言:非匿名関数
スカラ> DEFアッパー(STR:文字列):文字列= {} str.toUpperCase
アッパー:(STR:文字列)文字列

スカラ> dogList.map(上部)//中心文言ができる
res44:リスト[文字列] =リスト (HAPPY、HUAHUA、ERDAN、HONGSHAO)
  •  flatMap()多くのマッピング

関数はコンテナ要素に適用される場合、各要素のコンテナの返却(ない要素)し、次いで、これらの容器は、容器リターンに「フラットショット」flatMa。

ボックスタイプによって元の容器の種類を返しますが、異なる大文字化することができ、それは、異なるタイプかもしれません。

スカラ> dogList flatMap(S => s.toList)
res46:リスト[シャア] =リスト(H、P、P、Y、H、U、H、U、E、R、D、A 、N、H、O、N、G、S、H、O)
  •  フィルタ
    • それは返し、指定された条件が満たされている要素を取得するから、容器を横断する新しいコンテナを
    • メソッドは、パラメータとしてリターンフィルタブール関数fを受け付け、各要素に作用するFの要素は、新しいコンテナの返却を形成するために、真の値fを戻します
スカラ> dogListフィルタ(X => X。含み( "H"))// dogListフィルタ(_.contains( "H") 
res48:リスト[文字列] =リスト(幸せ、huahua、hongshao)

スカラ>(1 100).toList.filter(X => X%5 == 0)//(1〜100).toList.filter(_%5 == 0
res51:リスト[INT] =リスト(5、10、 15、20、25、30、35、40、45、50、55、60、65、70、75、80、85、90、95、100)
  •  filterNotリターンは、要素の条件を満たしていません
スカラ> dogList filterNot(X => x.contains( "PY"))
res54:リスト[文字列] =リスト(huahua、erdan、hongshao)
  •  コレクション内に存在するには、指定された条件要素が含まれています
Scalaは> dogListは(X => x.contains( "PY"))が存在する
=真のブール:res55を
  •  オプションの値は、リターンが(なし::いくつかの、何の値を値で)梱包なかっ見つけます
スカラ> dogList(X => x.contains( "Pyを"))検索
res56:Option- [文字列] = sの一部(ハッピー)

。スカーラ> dogList.find(X => x.contains( "Pyを"))// GETいくつかのクラスは、カプセル化される要素を取得するためにgetメソッドを呼び出し
res59を:文字列=幸せ

 

 

-----

おすすめ

転載: www.cnblogs.com/wooluwalker/p/12307940.html