Java中怎样遍历Map的所有的元素

来源:互联网 发布:非平衡面板数据stata 编辑:程序博客网 时间:2024/05/01 20:08

JDK1.4中

Map map = new HashMap();

Iterator it = map.entrySet().iterator();

while (it.hasNext()) {

Map.Entry entry = (Map.Entry) it.next();

Object key = entry.getKey();

Object value = entry.getValue();

}

 

JDK1.5中 应用新特性For-Each循环

Map m = new HashMap();

for(Object o : map.keySet()){

map.get(o);

}返回的 set 中的每个元素都是一个 Map.Entry 类型。

 

private Hashtable emails = new Hashtable(); 另外 我们可以先把hashMap 转为集合Collection,再迭代输出,不过得到的对象

 

//方法一: 用entrySet()

Iterator it = emails.entrySet().iterator();

while(it.hasNext()){

Map.Entry m=(Map.Entry)it.next();

logger.info("email-" + m.getKey() + ":" + m.getValue());

}

// 方法二:jdk1.5支持,用entrySet()和For-Each循环()

for (Map.Entry m : emails.entrySet()) {

logger.info("email-" + m.getKey() + ":" + m.getValue());

}

// 方法三:用keySet()

Iterator it = emails.keySet().iterator();

while (it.hasNext()){

String key;

key=(String)it.next();

logger.info("email-" + key + ":" + emails.get(key));

}

// 方法五:jdk1.5支持,用keySEt()和For-Each循环

for(Object m: emails.keySet()){

logger.info("email-" + m+ ":" + emails.get(m));

}

Map aa = new HashMap();

aa.put("tmp1", new Object());//追加替换用同样的函数.

aa.remove("temp1");//删除

for(Iterator i = aa.values().iterator(); i.hasNe();)

{

Object temp = i.next(); //遍历
}

 

来个完整的,包含TreeSet的元素内部排序的
public static void main(String[] args) {

ArrayList list = new ArrayList();

HashMap