欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

map 遍历取key遇到的问题 --jdk1.6 博客分类: java map遍历

程序员文章站 2024-03-23 11:44:52
...

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<Long,Map<String,Object>> map = new HashMap<Long,Map<String,Object>>();

//        Map<String,Object> subMap = new HashMap<String,Object>();

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

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

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

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

        Map<Long,Map<String,Object>> map = JSONObject.parseObject(skuMaps, Map.class);

 

        List<Long> skuIds = new ArrayList<Long>();

//遍历一

        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 遍历