scala要点总结2:数组、集合常用操作

一: 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))

猜你喜欢

转载自blog.csdn.net/zhanht/article/details/89041489