有序无序体现在元素进入Map时的顺序,和数值大小无关;
/**
* 映射键值
* 例如:<br>
* keys = [a,b,c,d]<br>
* values = [1,2,3,4]<br>
* 则得到的Map是 {a=1, b=2, c=3, d=4}<br>
* 如果两个数组长度不同,则只对应最短部分
*
* @param <K> Key类型
* @param <V> Value类型
* @param keys 键列表
* @param values 值列表
* @param isOrder 是否有序
* @return Map -->HashMap 无序
* LinkedHashMap是有序的(按你插入的顺序);
* TreeMap 是按key排序的;
*/
public static <K, V> Map<K, V> zip(K[] keys, V[] values, boolean isOrder) {
Map<K, V> temp = isOrder ? new LinkedHashMap<>() : new HashMap<>();
int lenK = keys.length;
int lenV = values.length;
int len = lenK;
if (lenK != lenV) {
len = Math.min(lenK, lenV);
}
for (int i = 0; i < len; i++) {
temp.put(keys[i], values[i]);
}
return temp;
}