A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© QQheima 中级黑马   /  2016-6-4 14:00  /  409 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        /**
         * 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);
    }

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马