【java】为什么这样子遍历HashMap是不行的?

coinname是HashMap<Integer,String>的一个对象想遍历出它里面的每一个元素,用下面这个是不行的for(Integerk:coinname){Sy... coinname是HashMap<Integer,String>的一个对象
想遍历出它里面的每一个元素,用下面这个是不行的
for(Integer k:coinname){
System.out.println(coinname.get(k));
}
用这个又是可以的
for(Integer k:coinname.keySet()){
System.out.println(coinname.get(k));
}
为什么呢?
展开
 我来答
淡红尘1123
2019-10-01 · 超过19用户采纳过TA的回答
知道答主
回答量:74
采纳率:66%
帮助的人:16.9万
展开全部
你第一个遍历的是键值对 第二个遍历的是键值对中的键 遍历键值对返回值类型可以用这个Set<Map.Entry<K,V>> ,方法用entrySet()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
思考342
2019-10-01 · TA获得超过456个赞
知道小有建树答主
回答量:888
采纳率:81%
帮助的人:203万
展开全部
map中存储了两个集合,一个存key,一个存value,如果你按照超级list和set的方法遍历map,编译器就不知道你想遍历keys还是values
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aning
2019-10-01 · 软件工程师
aning
软件工程师
采纳数:182 获赞数:782
做过软件商城开发。

向TA提问 私信TA
展开全部
用keyset方法获取了hashmap的所有key的集合对象。所以可以遍历key。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dhy2
2019-09-30 · TA获得超过752个赞
知道小有建树答主
回答量:967
采纳率:67%
帮助的人:235万
展开全部
  1. 遍历key用keySet

  2. 遍历value用values

  3. 遍历entry用entrySet

HashMap提供了这几种遍历方式

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
华蕴藉3t

2019-10-01 · TA获得超过545个赞
知道小有建树答主
回答量:1.5万
采纳率:72%
帮助的人:287万
展开全部
为什么这样便利是不行的? 因为你不懂科学他肯定不行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式