作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有一种简洁的方法在Java中生成DoubleKey Map。我在这里找到了几个答案,但没有一个能满足我的要求。
要求:
比方说 K1,K2,V
只有给定 K1,K2 才能定位唯一值。通过这种方式创建以下内容不起作用。
Map<K2, K1> m2;
Map<K1, V> m1;//here K1 needs have multiple V's.
如果通过 K1 搜索,它应该给出 Map<K2,V>
,反之亦然。
我唯一能做的就是创造
Map<K1,Map<K2,V>>
Map<K2,Map<K1,V>>
并且每次都维护两者。代码看起来很乏味。
即使仅使用这个解决方案,一旦扩展到三重 Key Map,那将是一场灾难。
最佳答案
如果第三方库是公平的游戏,这听起来像 Guava 的 Table
将会是完美的。 Table<R, C, V>
表示具有“行”键和“列”键的表。您可以使用get(row, column)
获取基于两个键的值,或者您可以使用 row(r)
或column(c)
获得 Map
对于适当的行或列,或者您可以使用 rowMap()
获得 Map<R, Map<C, V>>
或columnMap()
获得 Map<C, Map<R, V>>
.
如果您无法使用第三方库,那么您将无法找到比嵌套 Map
更好的解决方案您已经提到过的解决方案。
关于java - DoubleKey Map 实现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17798515/
有没有一种简洁的方法在Java中生成DoubleKey Map。我在这里找到了几个答案,但没有一个能满足我的要求。 要求: 比方说 K1,K2,V 只有给定 K1,K2 才能定位唯一值。通过这种方式创
我是一名优秀的程序员,十分优秀!