hashmap的遍历

importjava.util.HashMap;importjava.util.Iterator;publicclasshash{/***@paramargs*/publ... import java.util.HashMap;
import java.util.Iterator;

public class hash {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
HashMap<String, String>hm=new HashMap<String, String>();
hm.put("100","001");
hm.put("200","002");
hm.put("300","003");
hm.put("400","004");
hm.put("500","005");
hm.put("600","006");
hm.put("700","007");
hm.put("800","008");
hm.put("900","009");
System.out.println(hm.get("100"));
System.out.println(hm.size());
}
}
这道题怎么遍历
谢谢啊
展开
 我来答
zxwh004
推荐于2017-10-11 · TA获得超过5280个赞
知道小有建树答主
回答量:1253
采纳率:85%
帮助的人:480万
展开全部
方式1
Iterator iterator = hm.keySet().iterator();
while(iterator.hasNext()) {
System.out.println(hm.get(iterator.next()));
}
方式2
Set set = hm.entrySet() ;
java.util.Iterator it = hm.entrySet().iterator();
while(it.hasNext()){
java.util.Map.Entry entry = (java.util.Map.Entry)it.next();
// entry.getKey() 返回与此项对应的键
// entry.getValue() 返回与此项对应的值
System.out.println(entry.getValue());
}

比较建议方式一的做法
一个著名神经病
2018-04-10 · TA获得超过1.1万个赞
知道小有建树答主
回答量:53
采纳率:100%
帮助的人:8075
展开全部

方法一

在for-each循环中使用entries来遍历

这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。

Map<Integer, Integer> map = new HashMap<Integer, Integer>();


for (Map.Entry<Integer, Integer> entry : map.entrySet()) {

System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());


}

注意:for-each循环在java 5中被引入所以该方法只能应用于java 5或更高的版本中。如果你遍历的

是一个空的map对象,for-each循环将抛出NullPointerException,因此在遍历前你总是应该检查

空引用。

方法二 在for-each循环中遍历keys或values。

如果只需要map中的键或者值,你可以通过keySet或values来实现遍历,而不是用entrySet。

Map<Integer, Integer> map = new HashMap<Integer, Integer>();

//遍历map中的键

for (Integer key : map.keySet()) {

System.out.println("Key = " + key);

}

//遍历map中的值

for (Integer value : map.values()) {

System.out.println("Value = " + value);

}

该方法比entrySet遍历在性能上稍好



请添加详细解释

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xgust
2011-10-22 · TA获得超过560个赞
知道小有建树答主
回答量:1159
采纳率:0%
帮助的人:956万
展开全部
public static void main(String args[]){
HashMap<String, String>hm=new HashMap<String, String>();
hm.put("100","001");
hm.put("200","002");
hm.put("300","003");
hm.put("400","004");
hm.put("500","005");
hm.put("600","006");
hm.put("700","007");
hm.put("800","008");
hm.put("900","009");

Iterator it = hm.entrySet().iterator();
while(it.hasNext()){
Entry obj = (Entry) it.next();
System.out.println(obj.getKey()+" "+obj.getValue());
}
}

要按顺序输出的话用TreeMap
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
嘸限畅赽
2011-10-22 · TA获得超过357个赞
知道小有建树答主
回答量:413
采纳率:50%
帮助的人:110万
展开全部
以上都对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式