map遍历有三种方式:
Hashtable<String, String> o = new Hashtable<String, String>();
1: 用entrySet()
Iterator it = o.entrySet().iterator();
while(it.hasNext()){
Map.Entry m=(Map.Entry)it.next();
logger.info("o-" + m.getKey() + ":" + m.getValue());
}
2:jdk1.5以上支持,用entrySet()和For-Each循环
for (Map.Entry<String, String> m : o.entrySet()) {
logger.info("o-" + m.getKey() + ":" + m.getValue());
}
3:用keySet()
Iterator it = o.keySet().iterator();
while (it.hasNext()){
String key;
key=(String)it.next();
logger.info("o-" + key + ":" + o.get(key));
}
下面引用别人的话语:
Map myMap1 = new HashMap();HashMap myMap2 = new HashMap();
一般的情况下我们可以更倾向于使用第一种定义方法,或者说常规的也都会使用第一种方法,因为它让语句更加灵活,而且可以是构造任何实现了 Map 接口的实例。是的,在大多数应用的情况下的确如此,但在嵌入式系统中,却不是这样,因为通过一个接口引用来调用方法将比直接在对象实例中调用方法所耗费的时间多了一倍。
Hashtable<String, String> o = new Hashtable<String, String>();
1: 用entrySet()
Iterator it = o.entrySet().iterator();
while(it.hasNext()){
Map.Entry m=(Map.Entry)it.next();
logger.info("o-" + m.getKey() + ":" + m.getValue());
}
2:jdk1.5以上支持,用entrySet()和For-Each循环
for (Map.Entry<String, String> m : o.entrySet()) {
logger.info("o-" + m.getKey() + ":" + m.getValue());
}
3:用keySet()
Iterator it = o.keySet().iterator();
while (it.hasNext()){
String key;
key=(String)it.next();
logger.info("o-" + key + ":" + o.get(key));
}
下面引用别人的话语:
Map myMap1 = new HashMap();HashMap myMap2 = new HashMap();
一般的情况下我们可以更倾向于使用第一种定义方法,或者说常规的也都会使用第一种方法,因为它让语句更加灵活,而且可以是构造任何实现了 Map 接口的实例。是的,在大多数应用的情况下的确如此,但在嵌入式系统中,却不是这样,因为通过一个接口引用来调用方法将比直接在对象实例中调用方法所耗费的时间多了一倍。