entryset?java中什么叫entryset
大家好,关于entryset很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于java中什么叫entryset的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
map.entry 有什么作用
map.entryset()是将map里的每一个键值对取出来封装成一个entry对象在存到一个set里面。map.entry
的意思是一个泛型,表示entry里装的是两个string的字符串,分别是allrecordmap的key和value。至于private
final
string
entry
=
"com.primeton.ibs.bm.common.sso.ssoapplication";这个字符串是干嘛用的没看到引用所以不能确定是不是有关系。entry里装了什么东西你得看allrecordmap这个map里都存了什么键值对。
Map.Entry
你是否已经对每次从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里面的值。
阅读全文(427)|回复(1)| TrackBack(0)|编辑|精华
回复:Map.Entry类使用简介(转)
文章收藏,网上资源
tone发表评论于2007-2-28 15:23:15
Hashtable内部排列的方式是散列排布,所以当输出信息时会是无序的。为了能保证输出的数据按照顺序排列,不要渴望用java自带的函数来对Hashtable对象进行调整处理。当我们获取Hashtable里的KEY和VALUE时,一般都运行了Map.Entry类来转换,好,现在就用这个类来作文章,我具体写了一个方法。
代码:
/**
*方法名称:getSortedHashtable
*参数:Hashtable h引入被处理的散列表
*将引入的hashtable.entrySet进行排序,并返回
*/
public static Map.Entry[] getSortedHashtable(Hashtable h){
Set set= h.entrySet();
Map.Entry[] entries=(Map.Entry[])set.toArray(new Map.Entry[set.size()]);
Arrays.sort(entries,new Comparator(){
public int compare(Object arg0, Object arg1){
Object key1=((Map.Entry)arg0).getKey();
Object key2=((Map.Entry)arg1).getKey();
return((Comparable)key1).compareTo(key2);
}
});
return entries;
}
调用这个方法:
Map.Entry[] set= getSortedHashtable(t);
//perportyTable
for(int i=0;i<set.length;i++){
System.out.println(set[i].getKey().toString());
System.out.println(set[i].getValue().toString());
}
java中什么叫entryset
Entry是一个键值对对象,包含一个key和一个value,他是Map接口中定义的内部接口(Map.Entry)HashMap类中的内部类Entry实现了AbstractMap.SimpleEntry,而AbstractMap.SimpleEntry实现了Map.Entry接口,
用null做key其实是HashMap中定义了一个NULL_KEY(ObjectNULL_KEY=newObject();其实就是个Object对象)来替代null作为key,
也就是说你map.put(null,value)的时候,HashMap实际上会用NULL_KEY作为key,
当你调用map.get(null)的时候,HashMap也会用NULL_KEY来作为key返回数据
如果你有兴趣的话可以看下HashMap的源码,装JDK的时候装了源码就可以到安装目录下找到src.zip包里面是javaAPI的源码,没装的话只有去下载了,
Map集合中的entry是什么
Map.Entry是Map中的一个接口,他的用途是表示一个映射项(里面有Key和Value),而Set<Map.Entry<K,V>>表示一个映射项的Set。
Map.Entry里有相应的getKey和getValue方法,即JavaBean,让我们能够从一个项中取出Key和Value。
扩展资料
因为Map这个类没有继承Iterable接口所以不能直接通过map.iterator来遍历,所以就只能先转化为set类型,用entrySet()方法,其中set中的每一个元素值就是map中的一个键值对,也就是Map.Entry<K,V>了,然后就可以遍历了。
Map.Entry使用方法介绍:
Set keys= map.keySet();
if(keys!= null){
Iterator iterator= keys.iterator();
while(iterator.hasNext()){
Object key= iterator.next();
Object value= map.get(key);
;....
;}
}
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!