Collection开发小技巧大全

Home / Article MrLee 2015-12-30 2282

一个多功能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://www.it72.com/7428.htm

推荐阅读
最新回复 (0)
返回