dropWhile刪除從第一個元素開始匹配,匹配失敗則停止匹配

  val set1=Set("a","b","c")
  val set2=Set("c","d","e")

  var set3=set1.drop(2)
  println(s"set3 drop first tow element : $set3")

  val set5=set1 drop 2
  println(s"set1 drop first tow element : $set5")

  val set6=set1 dropRight  2
  println(s"set1 dropRight last tow element : $set6")

  //  dropWhile 從第一個元素開始匹配,匹配成功後繼續向後匹配,匹配失敗直接返回,
  // 即:他會過濾掉連續匹配的結果且是從第一個元素開始
  var seq1=Seq("1","22","333")
  val set7=seq1.dropWhile(_.charAt(0)=='1')
  println(s"set7 dropWhile element : $set7" )// print: List(22, 333)

  // 第一個匹配爲false後,將不會繼續向後匹配
  val set8=seq1.dropWhile(_.charAt(0)=='2')
  println(s"set8 dropWhile element : $set8" )// List(1, 22, 333) "22"不會被刪除

  // 第一個匹配爲true後,會繼續向後匹配
  var seq2=Seq("1","11","22","333")
  val set9=seq2.dropWhile(_.charAt(0)=='1')
  println(s"set9 dropWhile element : $set9" )// List( 22, 333) "1"和"11"都會被刪除

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章