黑马程序员技术交流社区
标题:
谁给我用个具体的例子讲个entrySet的用法呢 谢谢
[打印本页]
作者:
沙漠里的小鱼
时间:
2012-3-20 01:07
标题:
谁给我用个具体的例子讲个entrySet的用法呢 谢谢
谁给我用个具体的例子讲个entrySet的用法呢 谢谢
作者:
盛祖华
时间:
2012-3-20 01:26
entrySet()方法
返回此映射中包含的映射关系的 set 视图集合
private Hashtable<String, String> emails = new Hashtable<String, String>();
// 方法一: 用entrySet()
// Iterator it = emails.entrySet().iterator();
// while(it.hasNext()){
// Map.Entry m=(Map.Entry)it.next();
// logger.info("email-" + m.getKey() + ":" + m.getValue());
// }
// 方法二:直接再循环中
for (Map.Entry<String, String> m : emails.entrySet()) {
logger.info("email-" + m.getKey() + ":" + m.getValue());
}
// 方法三:用keySet()
Iterator it = emails.keySet().iterator();
while (it.hasNext()){
String key;
key=(String)it.next();
logger.info("email-" + key + ":" + emails.get(key));
}
另外 我们可以先把hashMap 转为集合Collection,再迭代输出,不过得到的对象
Map aa = new HashMap();
aa.put("tmp1", new Object()); //追加 替换用同样的函数.
aa.remove("temp1"); //删除
for (Iterator i = aa.values().iterator(); i.hasNext(); ) {
Object temp = i.next();
} //遍历
作者:
朱亚安
时间:
2012-3-20 01:39
Map.entrySet的使用在视频老师讲是把HashMap中的每一对key和value看做整体通过hashmap的方法给它放到set中,由于set接口实现了Iterable接口的方法,那么这样就解决了遍历hashmap的问题。
HashMap<String,Integer> maps = new HashMap<String,Integer>();
maps.put("a",1);
maps.put("b",2);
Set<Map.Entry<String, Integer>> keyEntrySet = maps.entrySet();
for(Map.Entry<String, Integer> entry:keyEntrySet)
{
System.out.println(entry.getKey()+"---->"+entry.getValue());
}
或者上面的for循环改为下面的用迭代器来完成是一样的结果:
for(Iterator ite = keyEntrySet.iterator(); ite.hasNext();){
Map.Entry entry = (Map.Entry) ite.next();
System.out.println(entry.getKey()+"---->"+entry.getValue());
}
作者:
陈从宾
时间:
2012-3-20 07:01
Map.entrySet() 这个方法返回的是一个Set<Map.Entry<K,V>>,Map.Entry 是一个接口,他的用途是表示一个映射项(里面有Key和Value),而Set<Map.Entry<K,V>>表示一个映射项的Set。
Map.Entry里有相应的getKey和getValue方法,让我们能够从一个项中取出Key和Value。这样就能理解了例子中的写法了。
for(Map.Entry me : m.entrySet()) {
t.append(me.getKey() + ": " + me.getValue() + "\n");
}
这里的t是一个TextArea,m是一个HashMap。
这种遍历Map的方法可以让我们在从Map中取得关键字之后,我们不用每次重复返回到Map中取得相对的值。
如下面是以前的写法:每次都要再从m中读出s所对应的值。
Set<String> keys = m.keySet( );
if(keys != null)
for(String s : keys)
t.append(s + ": " + m.get(s) + "\n");
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2