Scala集合 - Map;扩展元组类型

水善利万物而不争,处众人之所恶,故几于道

目录

一、不可变Map集合

  1. 集合创建
  2. 集合遍历
  3. 获取Map中的value

二、可变Map集合

  1. 创建可变Map集合
  2. 添加元素
  3. 删除元素
  4. 修改Map中的元素

三、元组

  1. 元组的创建
  2. 元组的访问
  3. 用元组创建Map

一、不可变Map集合

1. 集合创建

  • 方式一:

    val map: Map[String, Int] = Map("a" -> 1, "b" -> 2, "c" -> 3)
    

  这种方式是通过调用 “a” 的 -> 方法,创建一个对偶元组

  • 方式二:

    val map: Map[String, Int] = Map(("a", 1), ("b", 2), ("c", 3))
    

  这种方式是直接用元组创建

2. 集合遍历

for (elem <- map) {
  println(elem)
}
//--------------------------
map.foreach(println)
//--------------------------
for(key <- map.keySet){
  println(key +"----"+ map.get(key))
}

3. 获取Map中的value

说明:Map集合有两个获取key的方法,但是返回值不一样

val keyset: Set[String] = map.keySet
val keysIterable: Iterable[String] = map.keys
println(map.get("a"))  // Some(1)
println(map.get("d"))  // None
println(map.get("a").get)  // 1
println(map.get("d").getOrElse(666)) // 获取键为d的值,如果获取不到,返回666
println(map.getOrElse("a",666)) //获取键为a的值,如果获取不到返回666

二、可变Map集合

1. 创建可变Map集合

val map: mutable.Map[String, Int] = mutable.Map("a" -> 1, "b" -> 2, "c" -> 3)

2. 添加元素

map.put("d",4)

3. 删除元素

map.remove("a")

4. 修改Map中的元素

map.update("b",222)
map("c") = 333

三、元组

1. 元组的创建

val tuple: (String, String, Int) = ("1001", "jingjing", 18)

2. 元组的访问

println(tuple._2)

访问元组中的第2个元素


println(tuple.productElement(1))

通过索引访问元组中的数据


val iterator: Iterator[Any] = tuple.productIterator
for (elem <- iterator) {
  println(elem)
}

通过迭代器访问数据


3. 用元组创建Map

扩展:Map中的键值对其实就是元组,只不过元组的个数为2,称为对偶元组

val map = Map("a"->1, "b"->2, "c"->3)
val map1: Map[String, Int] = Map(("a", 1), ("b", 2), ("c", 3))

你可能感兴趣的:(Scala,scala,开发语言,后端,Map集合)