选取一个 Traversable 对象的前N个元素
解决方案:
1、take
2、takeWhile
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 take = t1.take(5); println(take); //List(1, 2, 3, 4, 5) val take2 = t1 take (3); println(take2); //List(1, 2, 3) val take3 = t1 take 3 println(take3); //List(1, 2, 3)
println(
Traversable(1, 3, 5, 2, 4, 6).take(3)
);
//List(1, 3, 5)
val takeWhile1 = t1.takeWhile(_ > 6); //t1.takeWhile(x => x > 6) println(takeWhile1); //List() val takeWhile2 = t1.takeWhile(_ < 6); println(takeWhile2); //List(1, 2, 3, 4, 5) println( Traversable(1 to 10: _*) .takeWhile(_ > 6) ) //List() println( Traversable(7, 8, 9, 1, 2, 3, 4, 5, 6) .takeWhile(_ > 6) ) //List(7, 8, 9) println( Traversable(7, 8, 1, 2, 3, 4, 5, 6, 9) .takeWhile(x => x > 6) ) //List(7, 8) //def takeWhile(p : scala.Function1[A, scala.Boolean]) : Repr /** * takeWhile()是根据断言从头开始一直选择元素,直到某个元素不满足这个断言为止。 **/ } }

浙公网安备 33010602011771号