一个关于java的问题,把对象存Map里,再把Map存List里,怎么取出全部,我只取出最后一个,是不是覆盖了?
publicstaticvoidmain(String[]args){HashMap<String,Zong>zhaoge=newHashMap<String,Zong>...
public static void main(String[] args) {
HashMap<String,Zong> zhaoge=new HashMap<String,Zong>();
zhaoge.put("朝歌",new Zong("白静怡","剑客"));
zhaoge.put("朝歌",new Zong("单平","捕头"));
zhaoge.put("朝歌",new Zong("单平2","捕头2"));
HashMap<String,Zong> wadan=new HashMap<String,Zong>();
wadan.put("瓦当",new Zong("杨玉璞","将军"));
wadan.put("瓦当",new Zong("陈仓","盟主"));
wadan.put("瓦当",new Zong("陈仓2","盟主2"));
List<HashMap<String,Zong>> al=new ArrayList<HashMap<String,Zong>>();
al.add(zhaoge);
al.add(wadan);
for(Iterator<HashMap<String,Zong>> it=al.iterator();it.hasNext();){
HashMap<String,Zong> hm=it.next();
Set<Map.Entry<String,Zong>> entryset=hm.entrySet();
for(Iterator<Map.Entry<String,Zong>> it2=entryset.iterator();it2.hasNext();){
Map.Entry<String,Zong> hm2=it2.next();
String name=hm2.getKey();
Zong id=hm2.getValue();
System.out.println("势力"+name+",人物:"+id.getName()+",职务:"+id.getZong());
}
// System.out.println(hm);
} 展开
HashMap<String,Zong> zhaoge=new HashMap<String,Zong>();
zhaoge.put("朝歌",new Zong("白静怡","剑客"));
zhaoge.put("朝歌",new Zong("单平","捕头"));
zhaoge.put("朝歌",new Zong("单平2","捕头2"));
HashMap<String,Zong> wadan=new HashMap<String,Zong>();
wadan.put("瓦当",new Zong("杨玉璞","将军"));
wadan.put("瓦当",new Zong("陈仓","盟主"));
wadan.put("瓦当",new Zong("陈仓2","盟主2"));
List<HashMap<String,Zong>> al=new ArrayList<HashMap<String,Zong>>();
al.add(zhaoge);
al.add(wadan);
for(Iterator<HashMap<String,Zong>> it=al.iterator();it.hasNext();){
HashMap<String,Zong> hm=it.next();
Set<Map.Entry<String,Zong>> entryset=hm.entrySet();
for(Iterator<Map.Entry<String,Zong>> it2=entryset.iterator();it2.hasNext();){
Map.Entry<String,Zong> hm2=it2.next();
String name=hm2.getKey();
Zong id=hm2.getValue();
System.out.println("势力"+name+",人物:"+id.getName()+",职务:"+id.getZong());
}
// System.out.println(hm);
} 展开
3个回答
展开全部
HashMap的key必须唯一,
wadan.put("瓦当",new Zong("杨玉璞","将军"));
wadan.put("瓦当",new Zong("陈仓","盟主"));
wadan.put("瓦当",new Zong("陈仓2","盟主2"));
之后,实际上前两句已经没有效果了
估计你的想法应该是
HashMap<String,List<Zong>> wadan=new HashMap<String,List<Zong>>();
List<Zong> ll=new ArrayList<Zong>();
ll.add(new Zong("杨玉璞","将军"));
ll.add(new Zong("陈仓","盟主"));
ll.add(new Zong("陈仓2","盟主2"));
wadan.put("瓦当",ll);
wadan.put("瓦当",new Zong("杨玉璞","将军"));
wadan.put("瓦当",new Zong("陈仓","盟主"));
wadan.put("瓦当",new Zong("陈仓2","盟主2"));
之后,实际上前两句已经没有效果了
估计你的想法应该是
HashMap<String,List<Zong>> wadan=new HashMap<String,List<Zong>>();
List<Zong> ll=new ArrayList<Zong>();
ll.add(new Zong("杨玉璞","将军"));
ll.add(new Zong("陈仓","盟主"));
ll.add(new Zong("陈仓2","盟主2"));
wadan.put("瓦当",ll);
追问
已经知道问题了 谢谢 一直以为是list出问题 原来是map的键重复了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-02-12
展开全部
map是key-value的键值对,每个key对应一个value,相同的key,被覆盖,当然是这样了。
追问
已经知道问题了 谢谢 一直以为是list出问题 原来是map的键重复了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询