一个多功能Map,可以把它当作List用,而又比List多了一个key的功能。不过效率肯定没有List高,这是在内存中分布存储的,而List是连续存储的。所以速度List肯定快点。
目前增加了一个方法,get索引获取值,而不用去作key遍历。其实是key遍历只是在这个类里面完成了,不用开发人员去写。
import java.util.HashMap;
import java.util.Set;
public class MultiMap extends HashMap {
private static final long serialVersionUID = 1L;
/**
* 和List一样通过索引获取值
* @param index 索引
* @return
*/
public V get(int index) {
Set set = keySet();
int nTemp = 0;
for (K k : set) {
if (nTemp == index)
return get(k);
++nTemp;
}
return null;
}
}
写了一个小方法,快速把Map转成List,适合所有类型。
public static List mapToList(Map map) {
Set set = map.keySet();
List list = new ArrayList();
for (K k : set) {
E e = map.get(k);
list.add(e);
}
return list;
}
本文链接:https://it72.com:4443/7428.htm