Java 哈希表存储桶作为 ArrayList

标签 java arraylist hashmap bucket

我想创建一个HashMap其中每个 Key可以有多个Value s。例如,key雨伞可以有value红色、黑色和绿色。我听说 Hashtable 中的水桶可能是LinkedList s,ArrayList我如何将存储桶实现为 ArrayList这样我就能够添加与 key 匹配的项目到列表末尾?

我想要类似 Map<Key, Value> 的东西。如果Key存在,Value将被添加到当前Value的列表中s。

最佳答案

您应该使用Map<K, List<V>> map = new HashMap<>();

而不是 map.put(k, v) ,你会做这样的事情:

List<V> vs = map.get(k);
if (vs == null) {
    vs = new ArrayList<>();
    vs.add(v);
    map.put(k, vs);
} else {
    vs.add(v);
}

关于Java 哈希表存储桶作为 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26983864/

相关文章:

java - 如何访问 ArrayList 中的上一个/下一个元素?

arraylist - String 是 Substring,就像 ArrayList 是?

java - 坚持从另一个类调用 ArrayList

java - 将 HashMap 从 Map<String, Boolean> 反转为 Map<Boolean, List<String>>

java - Paths.get(args[0]) 不起作用

java - 在 Android 开发教程之后“找不到符号 ActionBarActivity”?

javascript - 如何重定向/转发到具有可变内容的新 html 页面?

java - 如何在 Java 中使用 GSON 将 JSON 对象的映射转换为 JSON?

java - HashMap 数组

java - 如何让 Vista 的讲述人将我的 Swing 组件读回给我?