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
最新推荐文章于 2022-03-18 15:30:44 发布