/**
* ListOrderedMap说明:
* 可以按照存入的顺序取出
* 尚不支持泛型……
* 因为从数据库查出来的数据,是经过排序的,所以存入Map的valueSet后还希望保留原来的顺序
* http://unmi.cc/map-sorted-output-by-input/
*/
Map<Long,Map<String,Goods>> goodsMap = new ListOrderedMap();
原理:
class ListOrderedMap{
List orderKey = new ArrayList(); //key单独存放,是有序的
Map map = new HashMap(); //真正的map
public put(Object key, Object value){
if (!orderKey.containsKey(key)) {
orderKey.add(key); // key存入list,保证有序
}
return map.put(key, value);
}
public getValue(Object key){
return map.get(key);
}
} |
|