【问题标题】:Why returning List of HashMap instead of a HashMap? Scala为什么返回 HashMap 列表而不是 HashMap?斯卡拉
【发布时间】:2020-08-07 02:33:47
【问题描述】:

我有这个函数,我希望它从两个列表中构造一个 HashMap:

def storeHashmap(
    keys: List[List[Option[String]]],
    similarities: List[Float]
  ): List[HashMap[Float, (String, String)]] = {
    for ((k, s) <- (keys.zip(similarities)))
      yield HashMap(s -> (k.head.get, k(k.length - 1).get))
  }

不是返回HashMap[Float, (String, String)],而是返回List[HashMap[Float, (String, String)] 我错过了什么?我不想在最后使用reduce!我想根据迭代连接 hashMap 以进行构造

【问题讨论】:

  • 您产生值并且它返回哈希映射集合,您遍历列表并创建映射,因此它将是映射列表
  • 好的,为了生成 hashmap,我应该改变什么?

标签: list scala hashmap


【解决方案1】:
def storeHashmap(
                    keys: List[List[Option[String]]],
                    similarities: List[Float]
                  ): Map[Float, (String, String)] = {
    val yieldOutput = for ((k, s) <- keys.zip(similarities))
      yield s -> (k.head.get, k.last.get)
    yieldOutput.toMap
  }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-07
    • 2023-01-14
    • 1970-01-01
    • 2016-02-05
    • 2021-11-19
    • 1970-01-01
    • 2013-09-26
    • 2015-03-07
    相关资源
    最近更新 更多