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)
}
}