Interface MultiValueMap<K,V>

Type Parameters:
K - 键类型
V - 值类型
All Superinterfaces:
Map<K,Collection<V>>
All Known Implementing Classes:
AbstractCollValueMap, CollectionValueMap, GraphMap, ListValueMap, SetValueMap

public interface MultiValueMap<K,V> extends Map<K,Collection<V>>
一个键对应多个值的集合Map实现,提供针对键对应的值集合中的元素而非值集合本身的一些快捷操作, 本身可作为一个值为Collection类型的Map使用

值集合类型

值集合的类型由接口的实现类自行维护,当通过MultiValueMap定义的方法进行增删改操作时, 实现类应保证通过通过实例方法获得的集合类型都一致但是若用户直接通过Map定义的方法进行增删改操作时, 实例无法保证通过实例方法获得的集合类型都一致 因此,若无必要则更推荐通过MultiValueMap定义的方法进行操作

对值集合的修改

当通过实例方法获得值集合时,若该集合允许修改,则对值集合的修改将会影响到其所属的MultiValueMap实例,反之亦然 因此当同时遍历当前实例或者值集合时,若存在写操作,则需要注意可能引发的ConcurrentModificationException
Since:
Java 17+
Author:
Kimi Liu