map 遍历取key遇到的问题 --jdk1.6

阅读更多

import com.alibaba.fastjson.JSONObject;

import com.jd.data.util.JsonUtils;

 

import java.util.ArrayList;

import java.util.List;

import java.util.Map;

public class Test {

    public static void main(String[] args){

//注释中的代码遍历不会有问题

//        Map> map = new HashMap>();

//        Map subMap = new HashMap();

//        subMap.put("num",1);

//        map.put(112345l,subMap);

//此种方式生成的map采用第一种方式直接遍历会出现类型转换异常

        String skuMaps = "{12345789:{\"num\":1}}";

        Map> map = JSONObject.parseObject(skuMaps, Map.class);

 

        List skuIds = new ArrayList();

//遍历一

        for(Object key : map.keySet()){

                if(key instanceof Long){

                    skuIds.add((Long)key );

                }

            }

//遍历二

        Set set = map.keySet();

            for(Iterator iterator = set.iterator();iterator.hasNext();)

            {

                Integer s1 = (Integer)iterator.next();

                skuIds.add(Long.valueOf(s1));

            }

        System.out.println(JsonUtils.writeValue(skuIds));

    }

 

}

你可能感兴趣的:(map,遍历)