feat: get rid of Pair class

This commit is contained in:
金戟
2022-11-25 15:00:04 +08:00
parent e4ff8ce57e
commit 1dcbe6b0f2

View File

@@ -1,7 +1,5 @@
package com.alibaba.testable.core.util; package com.alibaba.testable.core.util;
import com.alibaba.testable.core.model.Pair;
import java.util.*; import java.util.*;
public class CollectionUtil { public class CollectionUtil {
@@ -121,25 +119,35 @@ public class CollectionUtil {
/** /**
* Create a map * Create a map
* @param pair elements to add * @param entry elements to add
* @return map of the provided items * @return map of the provided items
*/ */
public static <K, V> Map<K, V> mapOf(Pair<K, V>... pair) { public static <K, V> Map<K, V> mapOf(Map.Entry<K, V>... entry) {
return mapOf(new HashMap<K, V>(pair.length), pair); return appendMap(new HashMap<K, V>(entry.length), entry);
} }
/** /**
* Create an ordered map * Create an ordered map
* @param pair elements to add * @param entry elements to add
* @return ordered map of the provided items * @return ordered map of the provided items
*/ */
public static <K, V> Map<K, V> orderMapOf(Pair<K, V>... pair) { public static <K, V> Map<K, V> orderMapOf(Map.Entry<K, V>... entry) {
return mapOf(new LinkedHashMap<K, V>(pair.length), pair); return appendMap(new LinkedHashMap<K, V>(entry.length), entry);
} }
private static <K, V> Map<K, V> mapOf(Map<K, V> kvs, Pair<K, V>[] pair) { /**
for (Pair<K, V> p : pair) { * Create a map entry
kvs.put(p.getLeft(), p.getRight()); * @param key the key
* @param value the value
* @return entry of provided key and value
*/
public static <K, V> Map.Entry<K, V> entryOf(K key, V value) {
return new AbstractMap.SimpleEntry<K, V>(key, value);
}
private static <K, V> Map<K, V> appendMap(Map<K, V> kvs, Map.Entry<K, V>[] entry) {
for (Map.Entry<K, V> p : entry) {
kvs.put(p.getKey(), p.getValue());
} }
return kvs; return kvs;
} }