scala编程入门3:Map与Tupple

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)
  }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值