Class CollectionValueMap<K,V>
java.lang.Object
org.miaixz.bus.core.center.map.MapWrapper<K,Collection<V>>
org.miaixz.bus.core.center.map.multi.AbstractCollValueMap<K,V>
org.miaixz.bus.core.center.map.multi.CollectionValueMap<K,V>
- Type Parameters:
K- 键类型V- 值类型
- All Implemented Interfaces:
Serializable,Cloneable,Iterable<Map.Entry<K,,Collection<V>>> Map<K,,Collection<V>> MultiValueMap<K,,V> Wrapper<Map<K,,Collection<V>>> Provider
MultiValueMap的通用实现,可视为值为Collection集合的Map集合。
构建时指定一个工厂方法用于生成原始的Map集合,然后再指定一个工厂方法用于生成自定义类型的值集合。
当调用MultiValueMap中格式为“putXXX”的方法时,将会为key创建值集合,并将key相同的值追加到集合中- Since:
- Java 17+
- Author:
- Kimi Liu
- See Also:
-
Nested Class Summary
-
Field Summary
Fields inherited from class org.miaixz.bus.core.center.map.multi.AbstractCollValueMap
DEFAULT_COLLECTION_INITIAL_CAPACITY -
Constructor Summary
ConstructorsConstructorDescriptionCollectionValueMap(Supplier<Map<K, Collection<V>>> mapFactory, SupplierX<Collection<V>> collFactory) 创建一个多值映射集合,基于mapFactory与collFactory实现CollectionValueMap(Map<K, Collection<V>> map) 创建一个多值映射集合,默认基于指定Map与指定List类型实现CollectionValueMap(SupplierX<Collection<V>> collFactory) 创建一个多值映射集合,默认基于HashMap与collFactory生成的集合实现 -
Method Summary
Modifier and TypeMethodDescriptionprotected Collection<V> 创建集合 此方法用于创建在putValue后追加值所在的集合,子类实现此方法创建不同类型的集合Methods inherited from class org.miaixz.bus.core.center.map.multi.AbstractCollValueMap
filterAllValues, putAllValues, putValue, removeAllValues, removeValue, replaceAllValuesMethods inherited from class org.miaixz.bus.core.center.map.MapWrapper
clear, clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, getRaw, hashCode, isEmpty, iterator, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, toString, valuesMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface java.util.Map
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, putIfAbsent, remove, remove, replace, replace, replaceAll, size, valuesMethods inherited from interface org.miaixz.bus.core.center.map.multi.MultiValueMap
allForEach, allValues, filterAllValues, getValue, getValues, put, putAll, putAllValues, putValues, removeValues, replaceAllValues, size
-
Constructor Details
-
CollectionValueMap
public CollectionValueMap(Supplier<Map<K, Collection<V>>> mapFactory, SupplierX<Collection<V>> collFactory) 创建一个多值映射集合,基于mapFactory与collFactory实现- Parameters:
mapFactory- 生成集合的工厂方法collFactory- 生成值集合的工厂方法
-
CollectionValueMap
创建一个多值映射集合,默认基于HashMap与collFactory生成的集合实现- Parameters:
collFactory- 生成值集合的工厂方法
-
CollectionValueMap
public CollectionValueMap() -
CollectionValueMap
创建一个多值映射集合,默认基于指定Map与指定List类型实现- Parameters:
map- 提供数据的原始集合
-
-
Method Details
-
createCollection
Description copied from class:AbstractCollValueMap创建集合 此方法用于创建在putValue后追加值所在的集合,子类实现此方法创建不同类型的集合- Specified by:
createCollectionin classAbstractCollValueMap<K,V> - Returns:
Collection
-