浅谈 Hashtable 的遍历

来源:互联网 发布:免费淘宝店铺取名 编辑:程序博客网 时间:2024/05/20 23:03

以前并没有在意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();}

搞定了!

原创粉丝点击