你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用Map.Entry类,你可以得到在同一时间得到所有的信息。标准的Map访问方法如下:

Set keys = map.keySet( );if(keys != null) {Iterator iterator = keys.iterator( );while(iterator.hasNext( )) {Object key = iterator.next( );Object value = map.get(key);;....;}}

然后,这个方法有一个问题。从Map中取得关键字之后,我们必须每次重复返回到Map中取得相对的值,这是很繁琐和费时的。

幸运的是,这里有一个更加简单的途径。Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的对象集。 接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法,因此,上面的代码可以被组织得更符合逻辑。举例如下:

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();;....}}

尽管增加了一行代码,我们却省略了许多对Map不必要的“get”调用。同时,提供给开发人员一个同时保持了关键字和其对应的值的类。Map.Entry同时也提供了一个setValue()方法,程序员可以使用它修改map里面的值。

转载于:https://www.cnblogs.com/suifengbingzhu/archive/2012/08/24/2654778.html

map.entryk,v小用法(转)相关推荐

  1. getordefault java_Java map.getOrDefault()方法的用法详解

    Map.getOrDefault(Object key, V defaultValue)方法的作用是: 当Map集合中有这个key时,就使用这个key值: 如果没有就使用默认值defaultValue ...

  2. ES6 Map和Set的用法笔记

    一.Map 1.概念:Map用来保存键值对,类似于字典类型.任意值(对象或者原始值)都可以作为一个键或者一个值. 2.Maps 和 Objects 用法比较 Object对象的键只能是字符串或者 Sy ...

  3. js给对象添加变量属性 js 更改对象中的属性名 数组对象中每个对象添加一个字段-map用法和forEarch用法

    js给对象添加变量属性 & js 更改对象中的属性名 & 数组对象中每个对象添加一个字段-map用法和forEarch用法 1.js给对象添加变量属性 1.js创建一个对象或者在原有对 ...

  4. map函数的简单用法。

    在这里感谢新浪博客的daylive的博文: Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作! 1. map ...

  5. C#事件中sender的小用法

    C#事件中sender的小用法 开WPF新坑了,看了WPF的炫酷界面,再看看winForm实在是有些惨不忍睹(逃).后面会开始写一些短的学习笔记. 一.什么是sender sender最常见到的情况就 ...

  6. C#事件中sender的小用法(转载)

    C#事件中sender的小用法 开WPF新坑了,看了WPF的炫酷界面,再看看winForm实在是有些惨不忍睹(逃).后面会开始写一些短的学习笔记. 一.什么是sender sender最常见到的情况就 ...

  7. URL传参小用法获取url中的参数

    写页面的时候发现的小用法,记录下来,关于url静态传参的问题. 首先列举下获取URL中参数的几种方法 方法一:正则法 这个正则是寻找&+url参数名字=值+&*/     这里参考网址 ...

  8. STL中map和string, vector 用法详解

    1. map 用法详解 std map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成 ...

  9. c++ list, vector, map, set 区别与用法比较

    List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实现的,不支持[]. Vector对于随机 ...

  10. list, vector, map, set 区别与用法比较

    List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实现的,不支持[]. Vector对于随机 ...

最新文章

  1. 数据库连接池为什么要用threadlocal呢?不用会怎样?
  2. 如何用TensorFlow和TF-Slim实现图像分类与分割
  3. 《Redis官方文档》用Redis构建分布式锁(悲观锁)
  4. 机器人鸣人是哪一集_火影里的五个机器人,第一个比鸣人还厉害,机器丁次你都没见过...
  5. golang 文件(文件打开,文件写入,文件读取,文件删除)的基本操作
  6. Lambdas:来到您附近的Java 8!
  7. android坐侧菜单栏,SlidingLayoutDemo android左侧菜单栏的实现 - 下载 - 搜珍网
  8. 三相滤波器怎么接线_数字滤波器设计的一般套路
  9. AD账户频繁被锁定-开启日志审核策略
  10. du -sh 如何找到最大的文件夹_线上故障如何快速排查?来看这套技巧大全
  11. Spring boot Gradle项目搭建
  12. Android8.0 开机启动脚本,Android开机启动shell脚本(Android 8.0测试OK)
  13. Android添加gdb symbols
  14. [深度学习][转载]人脸识别相似度计算方法
  15. 苹果计算机格式化磁盘,如何格式化Mac电脑硬盘_给Mac电脑格式化硬盘的方法
  16. 51单片机之中断的实现过程
  17. 蓝牙5 BR/EDR Baseband层分析
  18. httpPrinter--vue--打印
  19. 电磁兼容(EMC)的标准与测试内容
  20. c语言面试题 百度,2017百度C/C++开发工程师面试题

热门文章

  1. chrome调式工具
  2. 【转】Laplace 算子
  3. 函数 迭代器,生成器
  4. Guava Cache本地缓存
  5. 等待线程结束(join)
  6. 作业2——需求分析原型设计
  7. RESTful 设计工具和Web框架
  8. HTML 标题h1-h6
  9. PSP记录个人项目耗时情况
  10. ld: symbol(s) not found for architecture arm64