一: ArrayBuffer
1. 声明数组
val a = ArrayBuffer("a","b")
val b = ArrayBuffer\[String](2)
2. 获取元素
val item = a(0)
val item = a.take(1)
3. 尾部添加元素或多个元素
a += "c"
a += ("d", "e")
a.append("f")
4. 尾部添加数组
a ++= Array("f", "g")
5. 指定位置插入元素
a.insert(0, 1)
6. 指定位置开始删除n个元素
a.remove(2, 1)
7. 连接两个数组
val c = a ++ b
val c = ArrayBuffer.concat(a, b)
8. 去除末尾n个元素
a.trimEnd(5)
二:List
PS : 默认的列表是不可变的,列表的元素不能通过赋值来更改, 所以对列表的操作都会产生新列表。 其次,列表表示一个链表,而数组是平的,类似ArrayList。
1. 声明
val list = List(1, 2)
val list2 = 1 :: 2 :: Nil
2. 获取
val item = list(0)
val list1 = list.take(1)
3. 头部添加元素
-1 :: list
-1 +: list
4. 尾部添加元素
list :+ 3
5. 删除头部和尾部指定个数个元素
list.drop(2)
list.dropRight(2)
6. 删除指定位置上的元素
list.dropWhile(s => list.indexOf(s) == 0)
7. 连接两个List
list ++ list2
list ::: list2
List.concat(list, list2)
三:Set
1. 声明
val set1 = Set(1, 2, 3)
val set2 = Set[Int]()
2. 获取
set1.take(1)
3. 添加元素
val set3 = set1 + 4
4. 删除元素
val set4 = set3 - 3
5. 连接
val set5 = set3 ++ set4
6. 交、并集
val set6 = set3.intersect(set4) 或 val set6 = set3.&(set4)
val set7 = set3.union(set4) 或 val set7 = set3.|(set4)
四:Map
1. 声明
val map1 = Map[Int, Int]()
val map2 = Map(1 -> 1, 2 -> 2)
val map3 = Map((3, 3), (4, 4))
2. 获取
val value = map2.get(1)
3. 添加元素
val map4 = map3 + (5 -> 5)
val map5 = map4 + ((6, 6))
4. 删除
val map6 = map5 - 5
5. 连接
val map7 = map5 ++ map4
6. 遍历
for (i <- map7.keys)
println(i + ":" + map7(i))
五:Tuple
元组的元素个数目前有22的上限,超过后就得使用集合而不是元组了
1. 声明
val t1= (1, "hello")
val t2 = Tuple2(2, "world")
2. 获取
val value = t1._1 // (注意下标从1开始)
3. 遍历
t1.productIterator.foreach{i => println(i)}
for (i <- 0 until t1.productArity)
println(t1.productElement(i))