package com.test.utils;
import java.util.HashMap;
public class MyMapArray {
private HashMap<String, Double>[] data;
private int dataSize;
// 初始化map数组
public MyMapArray(int size) {
data = new HashMap[size];
}
public MyMapArray() {
data = new HashMap[5];
}
private int getSize() {
return data.length;
}
public HashMap<String,Double>[] getData() {
return data;
}
public boolean add(String s,double d) {
if (dataSize == 0) {
HashMap<String,Double> map = new HashMap<>();
map.put(s,d);
data[0]=map;
dataSize++;
}else {
for (int i = 0; i < data.length; i++) {
HashMap<String,Double> innerMap = data[i];
if (null != innerMap) {
Double value = innerMap.values().iterator().next();
if (d >= value) {
// 后移
data = moveFromI(i, data);
//放入
HashMap<String,Double> map = new HashMap<>();
map.put(s,d);
data[i]=map;
dataSize++;
// 结束
return true;
} else {
continue;
}
} else {
HashMap<String,Double> map = new HashMap<>();
map.put(s,d);
data[i]=map;
dataSize++;
return true;
}
}
}
return true;
}
private HashMap<String,Double>[] moveFromI(int i,HashMap<String,Double>[] arr) {
int length = arr.length;
for (int j = length-1; j >=i && j>0; j--) {
arr[j] = arr[j - 1];
}
// System.arraycopy();
return arr;
}
}
``
自定义map数组,存入key-value时,就可以根据value排序,调换key value的位置,也可以根据key排序
最新推荐文章于 2024-05-31 10:02:57 发布