浅谈 Hashtable 的遍历

以前并没有在意Hashtable的遍历问题 今天遇到了个问题值得注意!

先说说遍历方法

HashMap遍历的两种方式:

第一种:

		Map map = new HashMap();
		Iterator iter = map.entrySet().iterator();
		while (iter.hasNext()) {
			Map.Entry entry = (Map.Entry) iter.next();
			Object key = entry.getKey();
			Object val = entry.getValue();
		}

 

效率高,推荐使用此种方式!

第二种:

		Map map = new HashMap();
		Iterator iter = map.keySet().iterator();
		while (iter.hasNext()) {
			Object key = iter.next();
			Object val = map.get(key);
		}


 

效率低比第一种要低,不推荐使用!

 

而在J2ME中是行不通的iterator就悲剧了

没怎么考虑直接 for Hashtable 的 size 然后遍历!

问题出来了 debug 的时候 明明是7 然后size就是3,查看元素

里面null 的size不计数

所以只能改策略了!

 

Enumeration e = table.elements();
while (e.hasMoreElements()){
	ORPlayer _p = (ORPlayer)e.nextElement();
}

搞定了!

你可能感兴趣的:(浅谈 Hashtable 的遍历)