黑马程序员技术交流社区

标题: Map操作小技巧,关于Map.Entry [打印本页]

作者: 张宇鹏    时间: 2011-7-26 23:23
标题: Map操作小技巧,关于Map.Entry
标准的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 编辑 ]
作者: 匿名    时间: 2011-7-26 23:25
:lol 学习了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2