考虑这段代码
val map = new HashMap[(String, String), Set[(String, Int, Double, Int)]]
with MultiMap[(String, String), (String, Int, Double, Int)]
有没有办法在不重复类型参数定义的情况下使用 Multimap 特征?
考虑这段代码
val map = new HashMap[(String, String), Set[(String, Int, Double, Int)]]
with MultiMap[(String, String), (String, Int, Double, Int)]
有没有办法在不重复类型参数定义的情况下使用 Multimap 特征?
您可以使用类型别名来减少重复
type K = (String, String)
type V = (String, Int, Double, Int)
然后你的地图变成
val map = new HashMap[K, Set[V]] with MultiMap[K, V]
然而,作为一种风格规则,我认为在代码中大量使用TupleN特征并不是一个好主意,原因如下:
考虑到创建定制类的开销只有:
case class K(p1: String, p2: String)
这通常是值得的!