问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-22 05:55

我来回答

4个回答

热心网友 时间:2023-07-19 08:17

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);

;....    

;}

热心网友 时间:2023-07-19 08:18

标准的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里面的值。

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

}

热心网友 时间:2023-07-19 08:18

map不有个Key和value吗 一个Key对应一个value 而key和value组合起来的一个组就是entry 要想取出这个组里的key和value就用entry的迭代器迭代即可。追问能不能举个具体的列子啊?

追答http://zhidao.baidu.com/question/283029340.html 您可以参考下这个

热心网友 时间:2023-07-19 08:19

entry

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
空调加氟时要注意什么? 电脑安装了pr兼容性pr显示系统兼容性报告 带你了解——赫伯罗特 一千克面粉三十元一克面粉多少钱 大米2元500克面粉3元500克 2千克大米和和1500克面粉多少钱?_百度... ...面粉每千克多少元.大米25千克4.5元一千克面粉2 买8000克面粉需要32元,每千克面粉多少钱 500克面粉2元钱1千克面粉多少钱,怎么练式? 软棕和硬棕哪个好 amd rx6800m相当于nvidia什么水平? java 集合,泛型 java 关于多个集合的存储的问题 java集合定义map java 什么是不可变对象 java中的HashMap类是做什么用的? java里map底层是通过什么实现的?队列和键值有什么... 那个网站下载ppt模板不用花钱 java中的map函数怎么用? java里map底层是通过什么实现的?队列和键值有什么... 优品ppt模板网官网 java Map深度复制问题 又没有免费的ppt模版网站或是链接 java 中map问题 java中几种Map在什么情况下使用? java:一个复杂的map 谁能说说JAVA中的LIST,MAP以及其他的一些容器的作... java中temp是什么意思 java中几种Map在什么情况下使用,并简单介绍原因及... java:java中Map类有什么作用,具体怎么用呢??_alon... 在Java中map类的主要作用 java中map怎么输出! 哪些食物与香蕉相克? 古代官职的变迁 中国古代官职变迁史是怎样的 古代官位等级的官位演变过程 国与家作文 古代官职任免升降常识 家与国作文(围绕祖国来写) 古代官职有哪些?官职变迁的词语有哪些? 中国古代选官制度的演变过程? 有关家与国的作文 范文要800字的 古代变官职变动词语集锦,举出的例子最好是语文课... 以家与国为话题,自拟题目作文600字? 文言文中表示官职变迁的词有哪些? 古代官位等级排序是怎么排的? 什么是家?什么是国?家与国的作文不少于400字的有... 古代官职左右地位的变化 怎样看待古代中国“家”与“国”的关系? 国与家征文600字 中国古代文学常识官职变化