关于Java的map存取数据的问题
没有说清楚,但是感觉你的意思应该是这样的
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]
类型:[大, 中]
数量:[多, 少]
你说错了,原有的应该是一个List吧
用put()方法,别用putAll();
用迭代器读取map,再一一put。
建议再学习学习集合部分吧。区分一下list和map各自的意义
作者最好直接写你想要的结果或最重要的部分,贴代码比较耗费大家的时候,一般能用list最好不用map
看不懂,你这是要把map1的数据取出来放在map2中?
temp并没有什么乱用,直接用map
我最讨厌的就是初学者问问题,那群不想多回答的sb,故作牛B的逗比,说楼主去学习一下,这种人。。。。。渣的可以!!!!人家TM的都问了,你还这样,永远不能体会问问题人的心情,擦,人家要的只是一个答案,你TM懒的写,觉得简单,可以走。。。。。要清楚别人真正要的是什么,兄弟,你在职场就是这么为老板办事的?言归正传:
map转map,可以采用遍历的方法,刚才谈到list,这确实是一个非常好的想法,你看map.put("string",new List());(尽量不要用java关键字,String,)网上有很多map遍历的方法,可以参考