/**
* 列表常用操作
*/
object arrayTest extends App{
val a = List(1, 4, 8, 2, 10)
val b = List(7, 4, 8, 5, 10)
// 判断列表是否为空
println(a.isEmpty)
println("---------")
// 拼接两个列表
private val list: List[Int] = a ++ b
for (elem <- list) println(elem)
println("---------")
// 获取首个元素和剩余部分
private val head: Int = a.head
println(head)
private val tail: List[Int] = a.tail
println(tail)
println("---------")
// 反转列表
private val reverse: List[Int] = a.reverse
reverse.foreach(println)
println("---------")
// 获取前缀和后缀
private val d: List[Int] = a.take(2)
d.foreach(println)
private val f: List[Int] = a.drop(3)
f.foreach(println)
println("---------")
// 扁平化
val c = List(List(23, 24, 35, 41, 34), List(96, 11, 0, 2))
private val flatten: List[Int] = c.flatten
flatten.foreach(println)
println("---------")
// 拉链
val k = List("huang", "hua", "jie")
val o = List("xu", "jing", "min")
private val tuples: List[(String, String)] = k.zip(o)
tuples.foreach(println)
private val unzip: (List[String], List[String]) = tuples.unzip
println(unzip._1)
println(unzip._2)
// 转换字符串
private val string: String = a.mkString
println(string)
// 生成字符串
private val str: String = a.mkString("|||")
println(str)
// 并集
private val un: List[Int] = a.union(b)
un.foreach(println)
// 交集
private val jiaoji: List[Int] = a.intersect(b)
println(jiaoji)
// 差集
private val chaji: List[Int] = a.diff(b)
println(chaji)
}