标准的Map访问方法如下:
[code=java]Set keys = map.keySet();
if(keys!=null) {
Iterator it = keys.iterator();
While(iterator.hasNext() {
Object key = iterator.next();
Object value = map.get(keys);
;……;
}
}[/code]
这个方法有一个问题。从Map中取得关键字之后,我们必须每次重复返回到Map中取得相对的值,这是很繁琐和费时的。
这里有一个更加简单的途径。Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集。接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法,因此,上面的代码可以被组织得更加符合逻辑。举例如下:
[code=java]Set entries = map.entrySet();
If(entries!=null) {
Iterator iterator = entries.iterator();
while(iterator.hasNext()) {
Map.Entry entry = iterator.next();
Object key = entry.getKey();
Object value = entry.getValue();
}
}[/code]
尽管增加了一行代码,却省略了许多对Map不必要的”get”调用。同时,提供给开发人员一个同时保持了关键字和其对应的值的类。
Map.Entry同时也提供了一个setValue()方法,程序员可以使用它来修改Map里的值。
[ 本帖最后由 张宇鹏 于 2011-07-26 23:25 编辑 ] |
|