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

如何取出Map中key和value的值

发布网友 发布时间:2022-04-20 20:29

我来回答

2个回答

热心网友 时间:2022-04-13 06:37

你是否已经对每次从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里面的值。

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

热心网友 时间:2022-04-13 07:55

用迭代就能遍历Key与value对了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我的世界手游天堂门怎么做 天堂门怎么放水 肌肤暗沉怎么调理?肌肤美白小窍门 该收心回归工作的说说 开启上班模式幽默说说(开启上班模式,享受美好生活) 格兰仕电磁炉e0换245k电阻用两次又烧 格兰仕电磁炉显示E4怎么办? ...于海中小虾,海中大虾……瀚海蛟龙的性质。谢谢了 相亲之后一周都有联系,也有出去吃饭看电影,但不明确男方具体什么态度... 相亲男之前一直对我很好(三天两头喊我看电影,吃饭),正好聊的那段时间我... ...个星期几每天晚上叫我出去吃饭看电影 当然都是他买单 。这样弄的... 什么是Skey?如何何获取Skey? keil出错:KEYS.H(10): error C129: missing &#39;;&#39; b... python字典中不是有keys()函数吗?为什么下面这段... 单片机c语言keil编译程序老是提示 KEYS.H(11): err... jedis怎么获取key的失效时间 如何批量删除Redis下特定pattern的keys Falling out Keysh 是什么意思? 关于skey是什么 如何获取 SKEY码是什么? 教育见习目的及意义 快手金龙礼物主播能收到钱吗 方舟进化生存手机版怎么联机,服务器???!?? 方舟生存进化华为nova 2能联机吗? 明日方舟能不能不同手机型号联机? 方舟生存进化手游怎么联机 联机方法详解 方舟生存进化手机版怎么联机? 方舟生存进化手机版怎么联机 《方舟生存进化》手机版怎么联机 方舟手游联机操作 红米note8玩方舟能联机吗? 方舟生存进化手机版如何联机教学 redis那个命令可以统计key的数量? CS中的命令以及按H中的个个选项都是做什么用的 在QQ对站平台里打CS,自己建房间后的基本操作有哪... linux中%h是哪个目录 ruby hash key能用变量吗 电脑硬件常用英语都有那些? 平板电脑 联想乐pad a2207a-H屏幕显示出现 Keys 第... 光遇敏感词汇怎么检测 微信发语音能不能检测到敏感词 西瓜视频不能出现的敏感词 快点阅读有哪些敏感词 有什么在线广告法违禁词检测的工具? 和平精英上传灵敏度检测到敏感词怎么弄? 公众号文章违规检测的工具有哪些? 写小说敏感词不能过审,有没有也因为敏感词不能过... 朋友圈发那些敏感词会被限制或封号? 请问:微信公众号文章违规检测的工具有哪些? 陌陌哪些敏感词不能发 微信朋友圈发不出去说文中含不恰当文字 A为什么是敏感词