基本属性和常用操作

(1)获取集合长度

  1. val list: List[Int] = List(1, 2, 3, 4, 5, 6, 7)<br /> //(1)获取集合长度<br /> println(list.length)

(2)获取集合大小

val list: List[Int] = List(1, 2, 3, 4, 5, 6, 7)<br />    //(2)获取集合大小,等同于length<br />    println(list.size)

(3)循环遍历

val list: List[Int] = List(1, 2, 3, 4, 5, 6, 7)<br />    //(3)循环遍历<br />    list.foreach(println)

(4)迭代器

val list: List[Int] = List(1, 2, 3, 4, 5, 6, 7)<br />    //(4)迭代器<br />    for (elem <- list.itera tor) {<br />      println(elem)<br />    }

(5)生成字符串

val list: List[Int] = List(1, 2, 3, 4, 5, 6, 7)<br />    //(5)生成字符串<br />    println(list.mkString(","))

(6)是否包含

val list: List[Int] = List(1, 2, 3, 4, 5, 6, 7)<br />    //(6)是否包含<br />    println(list.contains(3))

衍生集合

(1)获取集合的头

val list1: List[Int] = List(1, 2, 3, 4, 5, 6, 7)<br />    //(1)获取集合的头<br />    println(list1.head)

(2)获取集合的尾(不是头的就是尾)

val list1: List[Int] = List(1, 2, 3, 4, 5, 6, 7)<br />    //(2)获取集合的尾(不是头的就是尾)<br />    println(list1.tail)

(3)集合最后一个数据

val list1: List[Int] = List(1, 2, 3, 4, 5, 6, 7)<br />    //(3)集合最后一个数据<br />    println(list1.last)

(4)集合初始数据(不包含最后一个)

val list1: List[Int] = List(1, 2, 3, 4, 5, 6, 7)<br />    //(4)集合初始数据(不包含最后一个)<br />    println(list1.init)

(5)反转

val list1: List[Int] = List(1, 2, 3, 4, 5, 6, 7)<br />    //(5)反转<br />    println(list1.reverse)

(6)取前(后)n个元素

val list1: List[Int] = List(1, 2, 3, 4, 5, 6, 7)<br />    //(6)取前(后)n个元素<br />    println(list1.take(3))<br />    println(list1.takeRight(3))

(7)去掉前(后)n个元素

val list1: List[Int] = List(1, 2, 3, 4, 5, 6, 7)<br />    //(7)去掉前(后)n个元素<br />    println(list1.drop(3))<br />    println(list1.dropRight(3))

(8)并集

val list1: List[Int] = List(1, 2, 3, 4, 5, 6, 7)<br />    val list2: List[Int] = List(4, 5, 6, 7, 8, 9, 10)<br />    //(8)并集<br />    println(list1.union(list2))

(9)交集

val list1: List[Int] = List(1, 2, 3, 4, 5, 6, 7)<br />    val list2: List[Int] = List(4, 5, 6, 7, 8, 9, 10)<br />    //(9)交集<br />    println(list1.intersect(list2))

(10)差集

val list1: List[Int] = List(1, 2, 3, 4, 5, 6, 7)<br />    val list2: List[Int] = List(4, 5, 6, 7, 8, 9, 10)<br />    //(10)差集<br />    println(list1.diff(list2))

(11)拉链

val list1: List[Int] = List(1, 2, 3, 4, 5, 6, 7)<br />    val list2: List[Int] = List(4, 5, 6, 7, 8, 9, 10)<br />    //(11)拉链 注:如果两个集合的元素个数不相等,那么会将同等数量的数据进行拉链,多余的数据省略不用<br />    println(list1.zip(list2))

(12)滑窗

案例1

从List里面取元素

val list1 = List(30, 50, 70, 60, 10, 20)
// 滑窗
val it: Iterator[List[Int]] = list1.sliding(3)//每次取3个值.
for (e <- it) {
println(e)
}

输出结果:

List(30, 50, 70)
List(50, 70, 60)
List(70, 60, 10)
List(60, 10, 20)

解读上面的输出结果,滑窗的意思是从第一个开始取值,先从0号索引开始输出三个值,输出结果为 “30,50,70” ,然后再从1号索引开始输出三个值,输出结果为”50,70,60” ,然后再从2号索引开始输出三个值,输出结果为 “70,60,10” ,然后从3号索引输出三个值为”60,10,20” ,滑动完了就不滑动了..

案例2

每次长度为3,每隔两个元素滑窗一次

 val list1 = List(30, 50, 70, 60, 10, 20)<br />    // 滑窗<br />    val it: Iterator[List[Int]] = list1.sliding(3, 2)<br />    for (e <- it) {<br />      println(e)<br />    }

输出结果 :

List(30, 50, 70)
List(70, 60, 10)
List(10, 20)

解读: 从0号索引开始滑动窗口三个元素,所以输出”30,50,70” ,然后隔着两个索引再滑动,就从2号索引开始滑动三个元素,所以输出结果为”70,60,10”,最后从索引为4的位置开始滑动,滑动三个,但是最后只是剩下两个元素了,所以输出结果为”10,20”