Map.entry优势

Java :Map.EntryentrySet应用 应用Map.EntryentrySet通常结合使用进行HashMap的遍历。方法说明返回条目的关键字返回条目的值将相关映像中的值改为value,并且返回旧值} 阅读详情

如何简便的遍历Map

你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?

 

使用JDK5的增强for循环,来遍历Map,简单多了,比Map.Entry还方便。

看代码:

Java代码  收藏代码
  1. for (String key : map.keySet()) {  
  2.     System.out.println(key + " : " + map.get(key));  
  3. }  
 

 

 

 

最罗嗦遍历Map的方法:

 

Java代码  收藏代码
  1. Set keys = map.keySet( );  
  2. if(keys != null) {  
  3. Iterator iterator = keys.iterator( );  
  4. while(iterator.hasNext( )) {  
  5. Object key = iterator.next( );  
  6. Object value = map.get(key);  
  7. ;....  
  8. ;}  
  9.    

 

 

使用Map.Entry类,你可以得到在同一时间得到所有的信息。

Map类提供了一个称为entrySet()的方法,这个方法返回一个Map.Entry实例化后的 对象集。接着,Map.Entry类提供了一个getKey()方法和一个getValue()方法,因此,上面的代码可以被组织得更符合逻辑。

Map.Entry同时也提供了一个setValue()方法

 

 

 

Java代码  收藏代码
  1. private void a(){  
  2.     Map<String, String> values = new HashMap();  
  3.     for (Map.Entry entry : values.entrySet()) {  
  4.         Object key = entry.getKey( );  
  5.         Object value = entry.getValue();  
  6.     }  
  7. }  

 

Map接口不是Collection接口的继承。Map接口用于维护键/值对(key/value pairs)。该接口描述了从不重复的键到值的映射。

  (1) 添加、删除操作:   Object put(Object key, Object value): 将互相关联的一个关键字与一个值放入该映像。如果该关键字已经存在,那么与此关键字相关的新值将取代旧值。方法返回关键字的旧值,如果关键字原先并不存在,则返回null   Object remove(Object key): 从映像中删除与key相关的映射   void putAll(Map t): 将来自特定映像的所有元素添加给该映像   void clear(): 从映像中删除所有映射   “键和值都可以为null。但是,您不能把Map作为一个键或值添加给自身。”   (2) 查询操作:   Object get(Object key): 获得与关键字key相关的值,并且返回与关键字key相关的对象,如果没有在该映像中找到该关键字,则返回null   boolean containsKey(Object key): 判断映像中是否存在关键字key   boolean containsValue(Object value): 判断映像中是否存在值value   int size(): 返回当前映像中映射的数量   boolean isEmpty() :判断映像中是否有任何映射   (3) 视图操作 :处理映像中键/值对组   Set keySet(): 返回映像中所有关键字的视图集   “因为映射中键的集合必须是唯一的,您用Set支持。你还可以从视图中删除元素,同时,关键字和它相关的值将从源映像中被删除,但是你不能添加任何元素。”   Collection values():返回映像中所有值的视图集   “因为映射中值的集合不是唯一的,您用Collection支持。你还可以从视图中删除元素,同时,值和它的关键字将从源映像中被删除,但是你不能添加任何元素。”   Set entrySet(): 返回Map.Entry对象的视图集,即映像中的关键字/值对   “因为映射是唯一的,您用Set支持。你还可以从视图中删除元素,同时,这些元素将从源映像中被删除,但是你不能添加任何元素。”   Map.Entry接口   Map的entrySet()方法返回一个实现Map.Entry接口的对象集合。集合中每个对象都是底层Map中一个特定的键/值对。

  通过这个集合的迭代器,您可以获得每一个条目(唯一获取方式)的键或值并对值进行更改。当条目通过迭代器返回后,除非是迭代器自身的remove()方法或者迭代器返回的条目的setValue()方法,其余对源Map外部的修改都会导致此条目集变得无效,同时产生条目行为未定义。   (1) Object getKey(): 返回条目的关键字   (2) Object getValue(): 返回条目的值   (3) Object setValue(Object value): 将相关映像中的值改为value,并且返回旧值

例子:java代码

Map<String,Integer> map=new HashMap<String,Integer>();   

map.put("1", 1);   

map.put("2", 2);   

map.put("3", 3);   

map.put("3", 3);       

Iterator itor=map.entrySet().iterator();   

while(itor.hasNext()){   

  Map.Entry<String,Integer> entry=(Map.Entry<String,Integer>)itor.next();   

  System.out.println("key="+entry.getKey().toString());   

  System.out.println("values="+entry.getValue().toString());   

  

Map.Entry的好处 Map.Entry 的好处       你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用Map.Entry类,你可以得到在同一时间得到所有的信息。       标准的Map访问方法如下:   Set keys = map.keySet( ); if(keys != null) {Iterator iterator = keys.iterator( ); whil 阅读详情

相关推荐

java中遍历MAP的几种方法

方法一 在for-each循环中使用entries来遍历 这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。 [java] view plaincopy   Map&lt;Integer, Integer&gt; map = new HashMap&lt;Integer, Integer&gt;();      for (Map.Entry&...

ydlmlh的专栏 6491

Java中MapentrySet() 详解以及用法(四种遍历map的方式)

Entry 由于Map中存放的元素均为键值对,故每一个键值对必然存在一个映射关系。 Map中采用Entry内部类来表示一个映射项,映射项包含Key和Value (我们总说键值对键值对, 每一个键值对也就是一个Entry) Map.Entry里面包含getKey()和getValue()方法 Iterator<Map.Entry<Integer, Integer>> it=map.entrySet().iterator(); while(it.hasNext()) {

weixin_42408447的博客 1584

Map集合中values()、keySet()、entrySet()的性能比较

Map集合中三种方法的简介:values():获取集合中的所有的value值;keySet():将Map中所有的key存放到Set集合中。应为Set集合有迭代器,可以通过迭代器循环key,在通过get()方法,得到每个key所对应的value;entrySet():Set&lt;Map.Entry&lt;K,V&gt;&gt; entrySet() //返回此映射中包含的映射关系的 Set 视图。...

兵哥LOVE坤 1万+

Map.Entry使用详解

1.Map.Entry说明 Map是java中的接口,Map.EntryMap的一个内部接口。 Map提供了一些常用方法,如keySet()、entrySet()等方法,keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.EntryMap.EntryMap声明的一个内部接口,此接口为泛型,定义为En

Tajpure的专栏 990

Map.Entry 图文说明

1、Entry定义 EntryMap接口中一个内部接口类型,定义为Entry<K,V>。它表示Map中的一个元素条目(一个key-value对)。接口中有getKey()-获取当前条目key值,getValue()-获取当前条目value方法,setValue(Object value)-设置当前条目的value值。 2、MapEntry,key-value图片结构说明...

cchchunhe的博客 709

MapMap.Entry,增强for循环

最近在学习集合后,一直对MapMap.Entry存在些许的疑问和不解,于是查找各种资料,想要看看到底都有哪些不同?Map.Entry在使用到底有什么优势。 比如先看看下面的这种我们常用的遍历(哈哈,应该是我常用的),其中keySet()方法返回的就是该Map中所有key组成的Set组合,然后开始创建遍历Map中所有key的迭代器,之后程序进入循环后,每从Map中取一次key,程序都要返回到Ma

wh1132633619的博客 521

JAVA问题:Map.Entry的一般用处是什么

JAVA问题:Map.Entry的一般用处是什么 Map.Entry的定义。MapentrySet()方法返回一个实现Map.Entry接口的对象集合。集合中每个对象都是底层Map中一个特定的键/值对。通过这个集合的迭代器,获得每一个条目(唯一获取方式)的键或值并对值进行更改。Map.Entry中的常用方法如下所示: (1) Object getKey(): 返回条目的关键字  (2) Obj...

weixin_45299340的博客 409

java中的Map.Entry用法

假设我们有多个学生分组("A组"、"B组"),每个分组内有多个学生的成绩列表。我们需要遍历每个分组,计算该组学生的平均分。返回 Map 中所有键值对的集合,相当于把 Map 拆解成一个个。配置文件分组处理(如你原始代码中的文件合并)批量处理分组资源(如按部门管理员工信息)统计分类数据(如商品分类下的订单统计):直接一次性获取键和值,效率更高。分组:A组 | 平均分:85.0。分组:B组 | 平均分:70.0。→ 当前分组的名称(如。→ 该组的成绩列表(如。这种语法非常适合需要。

qq_51179608的博客 493

Map.Entry介绍

Map是java的一个接口,而Map.EntryMap的一个内部接口。 Map提供一些常用方法,如Keyset(),entrySet()等方法返回值是Map中的key值的集合;entrySet()的返回值也是返回一个set集合,此集合的类型为Map.EntryMap.Entrymap声明的一个内部接口,此接口为泛型,定义为Entry<K,V>,他表示...

weixin_40159122的博客 385

Map遍历(map.entry)结合jdk1.5for循环

<br />Map遍历(map.entry)结合jdk1.5for循环<br />文章分类:Java编程 <br />Java代码 <br />1.先把所有的代码都拷上来   <br />2.  <br />3.MapEntryBase.java 为了生成数据,没有用高级方法,一个for循环put进hashmap 写的非常挫,呵呵,完成功能就好   <br />4.  <br />5.package mapEntry;   <br />6.import java.util.HashMap;   <br />

wangliaizq10000的专栏 3473

Map对象中的keyset()、entryset()和Map.Entry

Map对象中的keySet()和entrySet() keySet() public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); map.put("01", "qwe"); map.put("02", "asd"); ma...

awodefengduanwu的博客 184

Java SE 049 Map.Entry详解与作业要求

Java SE 049 Map.Entry详解与作业要求 1.遍历HashMap的第二种方法 package com.javase.map; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; public class MapTest5 { @Supp...

青风百草 267

Map.Entry学习和详解

Map.Entry的定义 MapentrySet()方法返回一个实现Map.Entry接口的对象集合。集合中每个对象都是底层Map中一个特定的键/值对。通过这个集合的迭代器,获得每一个条目(唯一获取方式)的键或值并对值进行更改。Map.Entry中的常用方法如下所示: (1) Object getKey(): 返回条目的关键字   (2) Object getValue(): 返回条目的值   (3) Object setValue(Object value): 将相关映像中的值改为value,并且返回旧

m0_67391401的博客 1257

java中Map.Entry、HashMap、TreeMap的学习

以下观点全部为个人观点,欢迎批评指出 Map.Enrty个人理解为方便取出Map里的值的 Map&lt;String, String&gt; map = new HashMap&lt;String,String&gt;(); for(int i=0;i&lt;6;i++){ map.put("key"+i, "value"+i); }     使用Map.Entry之后 for...

xxxxx 194

`Map.Entry`和map.entrySet()

MapentrySet() 方法

qq_44349518的博客 478
上一篇: java HashMap需要注意的一些地方
下一篇: Linux的信号与自启脚本理解
freemindhack
博客等级 码龄12年 53粉丝 182原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值