gpt4 book ai didi

java - 在没有值的情况下向 HashMap 添加键?

转载 作者:搜寻专家 更新时间:2023-10-30 19:50:24 28 4
gpt4 key购买 nike

有没有办法在不添加值的情况下向 HashMap 添加键?我知道这看起来很奇怪,但我有一个 HashMap<String, ArrayList<Object>> amd 我希望首先能够根据需要创建 key ,然后检查某个 key 是否存在,如果存在,则输入适当的值,即 ArrayList<Object>

这够令人困惑吗?

最佳答案

由于您使用的是 Map<String, List<Object>> ,您真的正在寻找 multimap .我强烈建议为此使用第三方库,例如 Google Guava - 请参阅 Guava's Multimaps .

Multimap<String, Object> myMultimap = ArrayListMultimap.create();

// fill it
myMultimap.put("hello", "hola");
myMultimap.put("hello", "buongiorno");
myMultimap.put("hello", "สวัสดี");

// retrieve
List<String> greetings = myMultimap.get("hello");
// ["hola", "buongiorno", "สวัสดี"]

Java 8 更新:我不再相信每个 Map<K, SomeCollection<V>>应该重写为多图。如今,不用 Guava 就很容易获得所需的东西,这要归功于 Map#computeIfAbsent() .

Map<String, List<Object>> myMap = new HashMap<>();

// fill it
myMap.computeIfAbsent("hello", ignored -> new ArrayList<>())
.addAll(Arrays.asList("hola", "buongiorno", "สวัสดี");

// retrieve
List<String> greetings = myMap.get("hello");
// ["hola", "buongiorno", "สวัสดี"]

关于java - 在没有值的情况下向 HashMap 添加键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6045943/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com