Loading

为 map 中不存在的 key 提供缺省值

需求

需要往一个复杂的 map 中写入数据,或为 map 中不存在 key 提供 default value

java standard library

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

map.computeIfAbsent(key, k -> new ArrayList<>());
map.get(key).add(val);

guava library

引入

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>30.1.1-jre</version>
</dependency>

用法

从用法上将 Multimap 把一个复杂 Map 直接抽象成了一个简单 Map,这样在写入一个 key-value pair 时完全不用担心 key 在不在 map 里。代码将进一步简化为这样:

Multimap<K, V> multimap = ArrayListMultimap.create();

multimap.put(key, val);

参考

SchelleyYuKi youtube

posted @ 2021-08-10 19:56  myEsn2E9  阅读(52)  评论(0编辑  收藏  举报