Traversable 跳过开头的前N个元素,选择剩余的元素
解决方案:
1、drop
2、dropWhile
package main object Test { def main(args: Array[String]): Unit = { val t1 = Traversable(1 to 10: _*); println(t1); //List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) val drop = t1.drop(5); println(drop); //List(6, 7, 8, 9, 10) val drop2 = t1 drop (3); println(drop2); //List(4, 5, 6, 7, 8, 9, 10) val drop3 = t1 drop 3 println(drop3); //List(4, 5, 6, 7, 8, 9, 10) println( Traversable(1, 3, 5, 2, 4, 6) .drop(3) ) //List(2, 4, 6) val dropWhile1 = t1.dropWhile(_ > 6); //t1.dropWhile(x => x > 6) println(dropWhile1); //List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) val dropWhile2 = t1.dropWhile(_ < 6); println(dropWhile2); //List(6, 7, 8, 9, 10) println( Traversable(1 to 10: _*) .dropWhile(_ > 6) ) //List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) println( Traversable(7, 8, 9, 1, 2, 3, 4, 5, 6) .dropWhile(_ > 6) ) //List(1, 2, 3, 4, 5, 6) println( Traversable(7, 8, 1, 2, 3, 4, 5, 6, 9) .dropWhile(x => x > 6) ) //List(1, 2, 3, 4, 5, 6, 9) //def dropWhile(p : scala.Function1[A, scala.Boolean]) : Repr /** * dropWhile()它也接受一个断言做方法参数 * 但是,它会跳过开始满足断言的元素。一旦某个元素不满足断言,则返回剩余的元素。 **/ } }

浙公网安备 33010602011771号