package com.cs.testscala
import scala.collection.mutable
import scala.collection.mutable._
import scala.util.Sorting._
object TestScala {
def main(args: Array[String]): Unit = {
// map与分为可变的map和不可变的map
//1. 创建不可变的map
val student = Map("zhangsan"->20, "lisi"->21, "wangwu"->20)
// println(student)
//2. 创建可变的map
val student2 = scala.collection.mutable.Map("zhangsan"->20, "lisi"->21, "wangwu"->20)
//3. 使用tupple的方式创建Map
val student3 = Map(("zhangsan",20), ("lisi",21), ("wangwu",20))
//4. 创建空的hashMap
val student4 = new mutable.HashMap[String,Int]()
student4("zhangsan") = 20
// println(student4)
//5. 获取指定key的值,如果key不存在会报错
val age = student("zhangsan")
// println(age)
//6.使用contains检查key是否存在
val age1 = if(student.contains("zhangsan")) student("zhangsan") else 0
// println(age1)
//7.使用更加简便的方式判断key是否存在并且获取值
val age2 = student.getOrElse("zhangsan",0)
// println(age2)
//8. 更新mutable map
student2("zhangsan") = 30
// println(student2)
//9. 增加多个元素 +=
student2 += (("liuzi",22),("yangti",23))
// println(student2)
//10. 移除元素 -=
student2 -= (("liuzi"))
// println(student2)
//11. 更新不可变的map +/-
val student5 = student + (("zhougong",20))
// println(student5)
//12. 遍历map
// for((key,value) <- student2) println(key + ":" + value)
//13. 遍历key
// for(key <- student2.keySet) println(key)
//14. 遍历value
// for(value <- student2.values) println(value)
//15. 将(key,value)变为(value,key)
val ss = for((key,value) <- student2) yield (value, key)
println(ss)
//16. 创建有序的map
val student6 = scala.collection.immutable.SortedMap("zhangsan"->20,"lisi"->30,"wangwu"->20)
// println(student6)
//17. 创建有插入顺序的map
val student7 = new mutable.LinkedHashMap[String,Int]
student7 += ("zhangsan"->20)
student7 += ("lisi"->20)
// println(student7)
//18. 创建tupple
val t = ("zhangsan", 20)
//19. 访问tupple
val key = t._1
val value = t._2
//20. zip操作
val arr = Array("zhangsan", "lisi", "wangwu")
val arr1 = Array(20,22,23)
val res = arr.zip(arr1)
for((key,value) <- res) println(key + ":" + value)
}
}
scala编程入门3:Map与Tupple
最新推荐文章于 2024-05-27 13:54:41 发布
该博客主要围绕Scala语言展开,详细介绍了Scala中Map的多种创建方式,包括不可变、可变、空的HashMap等,还说明了获取、更新、增加和移除元素的操作,以及遍历Map的方法。此外,还涉及了Tuple的创建、访问和zip操作。
771

被折叠的 条评论
为什么被折叠?



