得到 或 去掉 N个元素

package main

object Test {

  def main(args: Array[String]): Unit = {

    val t = Iterable(1 to 13: _*);
    println(t);
    //List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)


    val take5 = t.take(5); //得到前面的5个元素
    println(take5.getClass.getName); //scala.collection.immutable.$colon$colon
    println(take5);
    //List(1, 2, 3, 4, 5)

    val takeRight5 = t.takeRight(5); //得到尾部的5个元素
    println(takeRight5.getClass.getName); //scala.collection.immutable.$colon$colon
    println(takeRight5);
    //List(9, 10, 11, 12, 13)

    val drop3 = t.drop(3); //去掉前面3个元素
    println(drop3.getClass.getName); //scala.collection.immutable.$colon$colon
    println(drop3);
    //List(4, 5, 6, 7, 8, 9, 10, 11, 12, 13)

    val dropRight3 = t.dropRight(3); //去掉尾部3个元素
    println(dropRight3.getClass.getName); //scala.collection.immutable.$colon$colon
    println(dropRight3);
    //List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

    
    println()
    println()


    val t2 = Iterable(1, 3, 5, 7, 9, 2, 4, 6, 8, 10);
    println(t2);
    //List(1, 3, 5, 7, 9, 2, 4, 6, 8, 10)

    val takeWhile2 = t2.takeWhile(x => x > 2);
    println(takeWhile2.getClass.getName); //scala.collection.immutable.Nil$
    println(takeWhile2);
    //List()

    val dropWhile2 = t2.dropWhile(x => x > 2);
    println(dropWhile2.getClass.getName); //scala.collection.immutable.$colon$colon
    println(dropWhile2);
    //List(1, 3, 5, 7, 9, 2, 4, 6, 8, 10)
  }
}

 

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