cn.hutool.core.map.multi.SetValueMap Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hutool-all Show documentation
Show all versions of hutool-all Show documentation
Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。
package cn.hutool.core.map.multi;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
/**
* 值作为集合Set(LinkedHashSet)的Map实现,通过调用putValue可以在相同key时加入多个值,多个值用集合表示
*
* @author looly
*
* @param 键类型
* @param 值类型
* @since 4.3.3
*/
public class SetValueMap extends AbsCollValueMap> {
private static final long serialVersionUID = 6044017508487827899L;
// ------------------------------------------------------------------------- Constructor start
/**
* 构造
*/
public SetValueMap() {
this(DEFAULT_INITIAL_CAPACITY);
}
/**
* 构造
*
* @param initialCapacity 初始大小
*/
public SetValueMap(int initialCapacity) {
this(initialCapacity, DEFAULT_LOAD_FACTOR);
}
/**
* 构造
*
* @param m Map
*/
public SetValueMap(Map extends K, ? extends Collection> m) {
this(DEFAULT_LOAD_FACTOR, m);
}
/**
* 构造
*
* @param loadFactor 加载因子
* @param m Map
*/
public SetValueMap(float loadFactor, Map extends K, ? extends Collection> m) {
this(m.size(), loadFactor);
this.putAllValues(m);
}
/**
* 构造
*
* @param initialCapacity 初始大小
* @param loadFactor 加载因子
*/
public SetValueMap(int initialCapacity, float loadFactor) {
super(new HashMap<>(initialCapacity, loadFactor));
}
// ------------------------------------------------------------------------- Constructor end
@Override
protected Set createCollection() {
return new LinkedHashSet<>(DEFAULT_COLLECTION_INITIAL_CAPACITY);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy