java hashmap怎么遍历冲突的部分
比如put(1,"a");put(2,"b");put(2,"c");普通遍历的话只能得到a和c,我现在想遍历出a,b,c,请问~...
比如
put(1,"a");
put(2,"b");
put(2,"c");
普通遍历的话只能得到a和c,我现在想遍历出a,b,c,请问~ 展开
put(1,"a");
put(2,"b");
put(2,"c");
普通遍历的话只能得到a和c,我现在想遍历出a,b,c,请问~ 展开
3个回答
展开全部
大家都知道map的key值是不可以重复的,重复会覆盖哦。
不过你的问题有个取巧的方法,就是不用int数字做key,而是新建string对象做key,这样内存地址不同的话,是可以重复的。
Map map = new IdentityHashMap();
map.put(new String("1"), "a");
map.put(new String("1"), "b");
System.out.println(map);
输出{1=a, 1=b}。
补充,其实用 IdentityHashMap的话,不用string,new Integer新建对象也是可以的。
不过你的问题有个取巧的方法,就是不用int数字做key,而是新建string对象做key,这样内存地址不同的话,是可以重复的。
Map map = new IdentityHashMap();
map.put(new String("1"), "a");
map.put(new String("1"), "b");
System.out.println(map);
输出{1=a, 1=b}。
补充,其实用 IdentityHashMap的话,不用string,new Integer新建对象也是可以的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-06-13
展开全部
你的key相同啊,相同的key会覆盖啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询