选取一个 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()是根据断言从头开始一直选择元素,直到某个元素不满足这个断言为止。 **/ } }

 

posted @ 2019-07-20 19:58  茗::流  阅读(112)  评论(0)    收藏  举报
如有雷同,纯属参考。如有侵犯你的版权,请联系我。