有时我需要将多个值存储到 Map
中的一个键中.我知道解决这个问题的几种方法,例如:
- 正在创建自己的
Map<K,V,W>
执行- 很难写,可以很容易地重用,如果需要更多的值就会有问题
- 使用 n
Map<K,V>
- 容易实现,需要很多Object,Key保存很多次:如果你在某处删除一个key会怎样?
- 使用
Map<K, Map<I, V>>
并用第二个键存储值- 易于实现,迭代时可能会出现问题(空值),还需要跟踪值键
- 创建一个存储
K, V, W, ...
的类并使用List<MyStorageClass>
(或Map<K, MyStorageClass>
)- 似乎是个不错的选择:易于实现,但可能需要实现许多接口(interface)(例如
Compareable
)
- 似乎是个不错的选择:易于实现,但可能需要实现许多接口(interface)(例如
- ... 可能更多
但我想知道最佳实践 Java 方式是什么(是的,我知道:“视情况而定”)?或者是否有一种语言内置功能,我可以使用它来实现最少的实现工作?
最佳答案
Sometimes i need to store more than one value to a key in a Map
那为什么不使用多图呢? Multimap
关于java - 是否有像 Map<K,V,W, ...> 这样的数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16056928/