Scala Map的default value值设置

method 1 : 简单的map getOrElse()

// inCountMap:movie_id:key 不存在就设置为1
val inCountMap = scala.collection.mutable.HashMap[Int, Int]()
inCountMap.getOrElse(movie_id,1))   

method 2 : 多维Map 模式匹配

  /**
   * 根据movieA和B的电影id来从movieSimBroadCast中取得两个电影的相似度  ,找不到取默认值
   * @param movieA  电影A的id
   * @param movieB  电影B的id
   * @param movieSimBroadCast      电影相似度矩阵  Map[Int(MovieA_id), Map[Int(movieB_id), Double(相似度)]
   * @return  相似度
   */
  def getMovieSimScoreFromMovieSimRecs(movieA:Int,movieB:Int,movieSimBroadCast:scala.collection.Map[Int, scala.collection.immutable.Map[Int, Double]]):Double={
    movieSimBroadCast.get(movieA) match {
      case Some(movieSimmap) => movieSimmap.get(movieB) match {
        case Some(score) => score
        case None => 0.0
      }
      case None => 0.0
    }
  }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容