add method

This commit is contained in:
Looly 2022-03-30 01:38:58 +08:00
parent c2db09e1ba
commit 2fb27b5dfb
2 changed files with 21 additions and 11 deletions

View File

@ -112,16 +112,16 @@ public class MapUtil {
/** /**
* 新建一个HashMap * 新建一个HashMap
* *
* @param <K> Key类型 * @param <K> Key类型
* @param <V> Value类型 * @param <V> Value类型
* @param size 初始大小由于默认负载因子0.75传入的size会实际初始大小为size / 0.75 + 1 * @param size 初始大小由于默认负载因子0.75传入的size会实际初始大小为size / 0.75 + 1
* @param isOrder Map的Key是否有序有序返回 {@link LinkedHashMap}否则返回 {@link HashMap} * @param isLinked Map的Key是否有序有序返回 {@link LinkedHashMap}否则返回 {@link HashMap}
* @return HashMap对象 * @return HashMap对象
* @since 3.0.4 * @since 3.0.4
*/ */
public static <K, V> HashMap<K, V> newHashMap(int size, boolean isOrder) { public static <K, V> HashMap<K, V> newHashMap(int size, boolean isLinked) {
int initialCapacity = (int) (size / DEFAULT_LOAD_FACTOR) + 1; int initialCapacity = (int) (size / DEFAULT_LOAD_FACTOR) + 1;
return isOrder ? new LinkedHashMap<>(initialCapacity) : new HashMap<>(initialCapacity); return isLinked ? new LinkedHashMap<>(initialCapacity) : new HashMap<>(initialCapacity);
} }
/** /**
@ -139,13 +139,13 @@ public class MapUtil {
/** /**
* 新建一个HashMap * 新建一个HashMap
* *
* @param <K> Key类型 * @param <K> Key类型
* @param <V> Value类型 * @param <V> Value类型
* @param isOrder Map的Key是否有序有序返回 {@link LinkedHashMap}否则返回 {@link HashMap} * @param isLinked Map的Key是否有序有序返回 {@link LinkedHashMap}否则返回 {@link HashMap}
* @return HashMap对象 * @return HashMap对象
*/ */
public static <K, V> HashMap<K, V> newHashMap(boolean isOrder) { public static <K, V> HashMap<K, V> newHashMap(boolean isLinked) {
return newHashMap(DEFAULT_INITIAL_CAPACITY, isOrder); return newHashMap(DEFAULT_INITIAL_CAPACITY, isLinked);
} }
/** /**

View File

@ -41,6 +41,16 @@ public class RowKeyTable<R, C, V> extends AbsTable<R, C, V> {
this(new HashMap<>()); this(new HashMap<>());
} }
/**
* 构造
*
* @param isLinked 是否有序有序则使用{@link java.util.LinkedHashMap}作为原始Map
* @since 5.8.0
*/
public RowKeyTable(boolean isLinked) {
this(MapUtil.newHashMap(isLinked), () -> MapUtil.newHashMap(isLinked));
}
/** /**
* 构造 * 构造
* *