选择 Traversable 的一段子集

如何复制 Traversable对象的一段连续的元素到一个新的 Traversable对象。

也就是说,截取集合的一部分

 

解决方案:

slice

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 result = t1.slice(1, 5);
    println(result);
    //List(2, 3, 4, 5)


    val from = 2;
    val until = 3;
    val result2 = t1.slice(from, until); //t1.slice(2, 3);
    println(result2);
    //List(3)

  }
}

 

Scala集合的索引是从 0 开始的。

 

def slice(from : scala.Int, until : scala.Int)

它截取的是包含 from 位置的元素,不包含 until 位置的元素。

公式:from  <=  indexOf(x)  <  until

 

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