我如何在Scala中表示复合键?
如果我有
val key1 = "mykey" val key2 = 427 两者都可以哈希吗?我可以做点什么 val compoundKey = key1 + "#" + key2 myhash.put(compoundKey,value) 然而,这似乎有点笨重 解决方法
我总是喜欢Tuple上的新数据类型有三个原因:
case class CompoundKey(key1: String,key2: String) >您有一个名称,特别是在编译器警告中,“预期的CompoundKey”比“预期的Tuple2 [String,String]”更清晰.或者它只是帮助您使用类型注释来使您自己的代码更具可读性,尤其是在像Maps这样的嵌套结构中 val k:CompoundKey = expensiveComputationOrNonObviousMethodCallsInARow(…) val ckey = CompoundKey(“foo”,“bar”) (我甚至会使用包装盒类Key(str:String)作为键类) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |