4

有时我需要将多个值存储到Map. 我知道解决此问题的几种方法,例如:

  • 创建自己的Map<K,V,W>实现
    • 很难写,可以很容易地重用,如果需要更多的值就会出现问题
  • 使用 nMap<K,V>
    • 易于实现,需要很多对象,密钥被保存很多次:如果你在某个地方删除一个密钥会发生什么?
  • 使用 aMap<K, Map<I, V>>并使用第二个键存储值
    • 易于实现,在迭代时可能会出现问题(空值),还需要跟踪值键
  • 创建一个存储K, V, W, ...和使用List<MyStorageClass>(或Map<K, MyStorageClass>) 的类
    • 似乎是一个不错的选择:易于实现,但可能需要实现许多接口(例如Compareable
  • ...可能还有更多

但我想知道最佳实践 Java 方式是什么(是的,我知道:“这取决于”)?或者甚至有一个语言内置功能,我可以用它来减少实现工作?

4

2 回答 2

7
 Sometimes i need to store more than one value to a key in a Map

那为什么不使用多图呢?多图

于 2013-04-17T09:54:00.863 回答
2

MultiValueMap从春天看。

于 2013-04-17T09:54:03.133 回答