zoukankan      html  css  js  c++  java
  • scala学习之map和tuple

    Map

      //不可变的Map
      val scores = Map("Alice" -> 3, "lucy" -> 6, "Lily" -> 9)
    
      //可变的
      scala.collection.mutable.Map("Alice" -> 3, "lucy" -> 6, "Lily" -> 9)
    
      var map = new mutable.HashMap[String, Int]
      map += ("cindy" -> 5)
      println(map)
    
      //操作Map
      println(scores("Alice"))
      //如果映射中不包含 该键 会抛出异常
      //检查map中是否含有某个键 可以使用contains 方法
      val score = if (scores.contains("lucy")) scores("lucy") else 0
    
      //或者
      scores.getOrElse("lucy", 0)
    
      map("cindy") = 10 //更新cindy的值
      map("lilei") = 8 //增加新的映射
      //也可以这样
      map +=("Bob" -> 5, "Fred" -> 7)
    
      map -= "lilei"
      //移除键值对
      /**
       * 不能update不可以变的map,但是可以得到一个新的map
       */
    
      val newScores = scores +("Bob" -> 5, "Fred" -> 7)
    
      //也可以如此
      var scoreses = Map("Alice" -> 3, "lucy" -> 6, "Lily" -> 9)
      scoreses = scoreses +("Bob" -> 5, "Fred" -> 7)
      //从不可变Map中移除值
      scoreses = scoreses - "lucy"
      //迭代
      for ((name, num) <- scoreses) println("name :" + name + " socre:" + num)
      //返回key值set集合
      println(scoreses.keySet)
      //获取所有的value
      for (v <- scoreses.values) println(v)
      //反转map
      var reverSocres = for ((name, num) <- scoreses) yield (num, name)
      println(reverSocres)
    
      //不可变的TreeMap
      SortedMap("Alice" -> 3, "lucy" -> 6, "Lily" -> 9)
    tuple:

      //元组
      val t = (1,3.14,"scala")
      println(t._1)  //访问元组 从1开始
      val (first,second,third) = t //依次对first,second,third为1,3.14,"scala"
      val (f,s,_) = t //如果不需要全部的值可以如此写
    
      //zip 很像python中的zip函数
      val symbols = Array("<","-",">")
      val counts = Array(3,6,3)
      val pairs = symbols.zip(counts)
      for ((s,n) <- pairs) Console.print(s * n) //打印<<<------>>>





    用放荡不羁的心态过随遇而安的生活
  • 相关阅读:
    人工智能第一次作业
    在uni-app的textarea中输入纯数字或者英文不换行的问题
    uni-app实现选择图片上传并显示进度条
    减肥计划
    前端时间格式2020-02-11T12:24:18.000+0000转化成正常格式
    男孩和女孩
    java 获取当前年份 月份 日期
    深海收破烂
    如何爱一个人
    随手心情
  • 原文地址:https://www.cnblogs.com/re-myself/p/5532487.html
Copyright © 2011-2022 走看看