你是否已经对每次从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里面的值。
分享到:
相关推荐
主要介绍了Java Map.Entry的使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Map a = new HashMap(); //方法一 Iterator it = a.entrySet().iterator(); while (it.hasNext()) { Map.Entry pairs = (Map.Entry) it.next();... System.out.println(entry.getKey()+"="+entry.getValue()); }
这是我在编写struts2中遇到的问题,整理出来,包括截图,希望可以帮到大家
1、遍历Map.entrySet():它的每一个元素都是Map.Entry对象,这个对象中, 放着的就是Map中的某一对key-value; 2、遍历Map.keySet():它是Map中key值的集合,我们可以通过遍历这个集合来 读取Map中的元素; 3、...
可以通过2种方法遍历HashMap <br>Map map = new HashMap(); <br>for (Iterator iter = map.entrySet().iterator(); iter.hasNext();) { <br> Map.Entry entry = (Map.Entry) iter.next(); <br> Object ...
Object key = entry.getKey(); Object value = entry.getValue(); } Map map = new HashMap(); Iterator it = map.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = (Map.Entry) ...
<FONT color=#0000ff>//方法一: 用entrySet() Iterator it = emails.entrySet().iterator();... Map.Entry m=(Map.Entry)it.next(); logger.info("email-" + m.getKey() + ":" + m.getValue()); }
View v = (View) entry.getKey(); v.setOnClickListener(null); } } private void registerLisntener(){ for(Map.Entry,Object> entry:data.entrySet()){ View v = (View) entry.getKey(); ...
JSON依赖包,共7个,含示范代码 ,介绍比较... Map.Entry m = (Map.Entry) it.next(); String key=(String)m.getKey(); String value=(String) m.getValue(); System.out.println(key+":"+value); }
dui Map遍历方法进行总结: Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry,V>。它表示Map中的一个实体(一个key-value对)。接口中有getKey(),getValue方法。
HashMap的实现原理
这时var=entry的话,用表达式${entry.key}取得键名。 用表达${entry.value}得到每个entry的值。这是因为java.util.Map.Entry对象有getKey和getValue方法,表达式语言遵守JavaBean的命名约定。<% Map<Strin
for (Map.Entry, Object> m : exp.entrySet()) { //如果value是JSONObject类型,则将该类型转化成Map类型,继续循环比较 if (JSONObject.class == m.getValue().getClass()) { Map, Object> expDataInfo = ...
import java.util.Map.Entry; import java.util.Set; import java.util.TreeMap;... ArrayList<City> value = entry.getValue(); for (City city : value) { System.out.println("\t"+city); } } } }
delete(key) -> delete entry by key has(key) -> Returns true/false based on whether the map contains the key keys() -> returns all keys of map values() -> returns all values of map size - current size ...
对Map遍历方法进行总结: Map.Entry是Map声明的一个内部接口,此接口为泛型,定义为Entry,V>。它表示Map中的一个实体(一个key-value对)。接口中有getKey(),getValue方法。
java 集合类的详细介绍 set map list 以及iterator entry 的介绍
import java.util.HashMap;... Integer quantity = entry.getValue(); System.out.println(goods.getId()+"\t"+goods.getPrice()+"\t"+quantity+"\t"+goods.getName()+"\t"+goods.getPrice()*quantity); } } }
import java.util.HashMap;... Integer quantity = entry.getValue(); System.out.println(goods.getId()+"\t"+goods.getPrice()+"\t"+quantity+"\t"+goods.getName()+"\t"+goods.getPrice()*quantity); } } }
Object valueObj = entry.getValue(); if(null == valueObj){ value = ""; }else if(valueObj instanceof String[]){ String[] values = (String[])valueObj; for(int i=0;i<values.length;i++){ value ...