A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张宇鹏 黑马帝   /  2011-7-26 23:23  /  2157 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

标准的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 编辑 ]

1 个回复

倒序浏览
黑马网友  发表于 2011-7-26 23:25:56
沙发
:lol 学习了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马