scala hashmap多个值

ric*_*oni 5 scala hashtable hashmap

我是Scala的新手,我想实现一个具有int键和字符串值的简单哈希表.

我尝试了以下代码:

import scala.collection.mutable.HashMap
val test_map = new HashMap[Int, String]
test_map += 10 -> "prog_1"
test_map += 20 -> "prog_2"
test_map += 25 -> "prog_3"
test_map += 15 -> "prog_4"
test_map += 10 -> "prog_8"
Run Code Online (Sandbox Code Playgroud)

但是,test_map(10)的值不是"prog_1","prog_8"它只是"prog_8".看起来这个hashmap只是一个不能有多个值的键值函数.有一种在Scala中使用多值哈希表的简单方法吗?

Tra*_*own 11

MultiMap如果您不关心保留具有相同键的值的插入顺序,则可以使用a :

import scala.collection.mutable.{ HashMap, MultiMap, Set }

val test = new HashMap[Int, Set[String]] with MultiMap[Int, String]

test.addBinding(10, "prog_1")
test.addBinding(20, "prog_2")
test.addBinding(25, "prog_3")
test.addBinding(15, "prog_4")
test.addBinding(10, "prog_8")
Run Code Online (Sandbox Code Playgroud)