是否有一个通用的数据结构,表示Java中的列表映射

Era*_*dan 4 java data-structures

我正在寻找具有a的功能的通用数据结构 Map<K, List<V>>

目前我所做的就像是

public class MapOfLists <K,V>{

     private Map<K, List<V>> map = new HashMap<K, List<V>>();

     public void addItem(K key, V value){
        if(!map.containsKey(key)){
            map.put(key, new ArrayList<V>());
        }
        List<V> list = map.get(key);
        list.add(value);
     }
     ...
}
Run Code Online (Sandbox Code Playgroud)

是不是有更通用的解决方案?我是重新发明轮子(还是一个不那么重要的神器)

duf*_*ymo 7

Google MultiMap ....或Apache Commons DefaultMapBag.

就个人而言,我认为你的做法没有错.你正在缩短编写时间(而不是那么长),并且不要再依赖谷歌这样的第三方库.你的方法是可辩护的.