mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-04-19 03:01:48 +08:00
fix doc
This commit is contained in:
parent
05bd3cca9f
commit
3bddce1a0b
@ -20,6 +20,7 @@ import java.util.stream.Collectors;
|
||||
* @param <V> 值类型
|
||||
* @author looly
|
||||
* @since 5.7.4
|
||||
* @see CollectionValueMap
|
||||
* @see SetValueMap
|
||||
* @see ListValueMap
|
||||
*/
|
||||
@ -60,7 +61,6 @@ public abstract class AbsCollValueMap<K, V> extends MapWrapper<K, Collection<V>>
|
||||
|
||||
// ------------------------------------------------------------------------- Constructor end
|
||||
|
||||
|
||||
/**
|
||||
* 将集合中的全部元素对追加到指定键对应的值集合中,效果等同于:
|
||||
* <pre>{@code
|
||||
|
@ -11,13 +11,13 @@ import java.util.stream.Collectors;
|
||||
* <p>一个键对应多个值的集合{@link Map}实现,提供针对键对应的值集合中的元素而非值集合本身的一些快捷操作,
|
||||
* 本身可作为一个值为{@link Collection}类型的{@link Map}使用。<br>
|
||||
*
|
||||
* <h3>值集合类型</h3>
|
||||
* <p>值集合类型</p>
|
||||
* <p>值集合的类型由接口的实现类自行维护,当通过{@link MultiValueMap}定义的方法进行增删改操作时,
|
||||
* 实现类应保证通过通过实例方法获得的集合类型都一致。但是若用户直接通过{@link Map}定义的方法进行增删改操作时,
|
||||
* 实例无法保证通过实例方法获得的集合类型都一致。<br>
|
||||
* 因此,若无必要则更推荐通过{@link MultiValueMap}定义的方法进行操作。
|
||||
*
|
||||
* <h3>对值集合的修改</h3>
|
||||
* <p>对值集合的修改</p>
|
||||
* <p>当通过实例方法获得值集合时,若该集合允许修改,则对值集合的修改将会影响到其所属的{@link MultiValueMap}实例,反之亦然。
|
||||
* 因此当同时遍历当前实例或者值集合时,若存在写操作,则需要注意可能引发的{@link ConcurrentModificationException}。
|
||||
*
|
||||
@ -40,6 +40,7 @@ public interface MultiValueMap<K, V> extends Map<K, Collection<V>> {
|
||||
* @param value 键对应的新值集合
|
||||
* @return 旧值集合
|
||||
*/
|
||||
@SuppressWarnings("AbstractMethodOverridesAbstractMethod")
|
||||
@Override
|
||||
Collection<V> put(K key, Collection<V> value);
|
||||
|
||||
@ -49,6 +50,7 @@ public interface MultiValueMap<K, V> extends Map<K, Collection<V>> {
|
||||
*
|
||||
* @param map 需要更新的键值对集合
|
||||
*/
|
||||
@SuppressWarnings("AbstractMethodOverridesAbstractMethod")
|
||||
@Override
|
||||
void putAll(Map<? extends K, ? extends Collection<V>> map);
|
||||
|
||||
@ -100,6 +102,7 @@ public interface MultiValueMap<K, V> extends Map<K, Collection<V>> {
|
||||
* @param values 待添加的值
|
||||
* @return boolean
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
default boolean putValues(final K key, final V... values) {
|
||||
return ArrayUtil.isNotEmpty(values) && putAllValues(key, Arrays.asList(values));
|
||||
}
|
||||
@ -138,6 +141,7 @@ public interface MultiValueMap<K, V> extends Map<K, Collection<V>> {
|
||||
* @param values 值数组
|
||||
* @return 是否成功删除
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
default boolean removeValues(final K key, final V... values) {
|
||||
return ArrayUtil.isNotEmpty(values) && removeAllValues(key, Arrays.asList(values));
|
||||
}
|
||||
@ -189,6 +193,18 @@ public interface MultiValueMap<K, V> extends Map<K, Collection<V>> {
|
||||
|
||||
// =================== read operate ===================
|
||||
|
||||
/**
|
||||
* 获取指定序号的值,若值不存在,返回{@code null}
|
||||
*
|
||||
* @param key 键
|
||||
* @param index 第几个值的索引,越界返回null
|
||||
* @return 值或null
|
||||
*/
|
||||
default V getValue(K key, int index) {
|
||||
final Collection<V> collection = get(key);
|
||||
return CollUtil.get(collection, index);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取键对应的值,若值不存在,则返回{@link Collections#emptyList()}。效果等同于:
|
||||
* <pre>{@code
|
||||
|
@ -1,5 +1,24 @@
|
||||
/**
|
||||
* 多参数类型的Map实现,包括集合类型值的Map和Table
|
||||
* 多参数类型的Map实现,包括集合类型值的MultiValueMap和Table<br>
|
||||
* <ul>
|
||||
* <li>MultiValueMap:一个键对应多个值的集合的实现,类似于树的结构。</li>
|
||||
* <li>Table:使用两个键映射到一个值,类似于表格结构。</li>
|
||||
* </ul>
|
||||
*
|
||||
* <pre>
|
||||
* MultiValueMap
|
||||
* |
|
||||
* AbsCollValueMap
|
||||
* ||
|
||||
* [CollectionValueMap, SetValueMap, ListValueMap]
|
||||
* </pre>
|
||||
* <pre>
|
||||
* Table
|
||||
* |
|
||||
* AbsTable
|
||||
* ||
|
||||
* [RowKeyTable]
|
||||
* </pre>
|
||||
*
|
||||
* @author looly
|
||||
*
|
||||
|
@ -25,7 +25,6 @@ import java.net.HttpCookie;
|
||||
import java.net.URI;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@ -303,7 +302,7 @@ public class HttpServerRequest extends HttpServerBase {
|
||||
* @since 5.5.8
|
||||
*/
|
||||
public String getParam(final String name){
|
||||
return getParams().get(name, 0);
|
||||
return getParams().getValue(name, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -313,7 +312,7 @@ public class HttpServerRequest extends HttpServerBase {
|
||||
* @return 参数值
|
||||
* @since 5.5.8
|
||||
*/
|
||||
public List<String> getParams(final String name){
|
||||
public Collection<String> getParams(final String name){
|
||||
return getParams().get(name);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user