第十章 Scala 容器基础(十八):从集合中提取元素序列
Problem 你想要从集合中提取一串连续的元素,通过指定开始和结束位置或者通过一个方法。 Solution 你可以利用一些集合方法来从有序集合中提取一串连续的元素。比如drop,dropWhile,head,headOption,init,last,lastOption,slice,tail,take,takeWhile。 给定一个有序集合: scala> val x = (1 to 10).toArray x: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) 利用drop(n)方法,你可以提取集合除了前n个元素外,剩余的元素。 scala> x.drop(3) res0: Array[Int] = Array(4, 5, 6, 7, 8, 9, 10) 利用dropWhile方法,会丢掉从集合开始一直到能满足你传给dropWhile方法的判断条件为true的所有元素。 scala> x.dropWhile(_ < 6) res2: Array[Int] = Array(6, 7, 8, 9, 10) dropRight(n)方法和drop很像,只不过它会丢掉集合右侧的n个元素。 scala> x.dropRight(3) res4: Array[Int] = Array(1, 2, 3, 4, 5, 6, 7) take(n