有没有像Map <K,V,W,...>这样的数据结构?

reo*_*eox 4 java map

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

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

但我想知道什么是Java方式的最佳实践(是的,我知道:"它取决于")?或者是否有一种语言内置功能,我可以使用它来实现最小的实现工作?

Eug*_*ene 7

 Sometimes i need to store more than one value to a key in a Map
Run Code Online (Sandbox Code Playgroud)

为什么不使用多图?Multimap之