new_culture
2016-08-20 06:44
采纳率: 100%
浏览 1.7k
已采纳

关于Java的map存取数据的问题

图片

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

9条回答 默认 最新

  • hanlang_java 2016-08-26 16:56
    已采纳

    没有说清楚,但是感觉你的意思应该是这样的
    public static void main(String[] args) throws Exception {
    Map map1 = new HashMap();
    map1.put("类型", "大");
    map1.put("数量", "多");
    map1.put("单价", 100);
    map1.put("优惠", 0.12);

        Map<String, Object> map2 = new HashMap<String, Object>();
        map2.put("类型", "中");
        map2.put("数量", "少");
        map2.put("单价", 20);
        map2.put("优惠", 0.42);
    
        Map<String, List<Object>> maps = new HashMap<String, List<Object>>();
        for(String key : map1.keySet()){
            List<Object> list = maps.get(key);
            if(list == null){
                maps.put(key, list = new ArrayList<Object>());
            }
            list.add(map1.get(key));
        }
        for(String key : map2.keySet()){
            List<Object> list = maps.get(key);
            if(list == null){
                maps.put(key, list = new ArrayList<Object>());
            }
            list.add(map2.get(key));
        }
        for(String key : maps.keySet()){
            System.out.println(key + ":" + maps.get(key));
        }
    }
    
    输出为:
    

    单价:[100, 20]
    优惠:[0.12, 0.42]
    类型:[大, 中]
    数量:[多, 少]

    已采纳该答案
    打赏 评论
  • faicm 2016-08-20 06:50

    你说错了,原有的应该是一个List吧

    打赏 评论
  • 亲爱的耀哥哥 2016-08-20 11:29

    用put()方法,别用putAll();

    打赏 评论
  • 编程爱好者熊浪 2016-08-21 02:02

    用迭代器读取map,再一一put。

    打赏 评论
  • 情人节也放假 2016-08-22 01:39

    建议再学习学习集合部分吧。区分一下list和map各自的意义

    打赏 评论
  • 刘兆贤 2016-08-24 03:04

    作者最好直接写你想要的结果或最重要的部分,贴代码比较耗费大家的时候,一般能用list最好不用map

    打赏 评论
  • GGHidezhang 2016-08-26 05:31

    看不懂,你这是要把map1的数据取出来放在map2中?

    打赏 评论
  • NB213 2016-08-28 07:12

    temp并没有什么乱用,直接用map

    打赏 评论
  • qq_29682375 2016-08-29 14:32

    我最讨厌的就是初学者问问题,那群不想多回答的sb,故作牛B的逗比,说楼主去学习一下,这种人。。。。。渣的可以!!!!人家TM的都问了,你还这样,永远不能体会问问题人的心情,擦,人家要的只是一个答案,你TM懒的写,觉得简单,可以走。。。。。要清楚别人真正要的是什么,兄弟,你在职场就是这么为老板办事的?言归正传:
    map转map,可以采用遍历的方法,刚才谈到list,这确实是一个非常好的想法,你看map.put("string",new List());(尽量不要用java关键字,String,)网上有很多map遍历的方法,可以参考

    打赏 评论

相关推荐 更多相似问题