中易网

JAVA,如何随机取出Map中一对键和值?

答案:5  悬赏:80  
解决时间 2021-02-19 11:03
JAVA,如何随机取出Map中一对键和值?
最佳答案
举个例子:
Map map = new HashMap();
先拿所有的键:
Integer[] keys = map.keySet().toArray(new Integer[0]);
然後随机一个键,找出该值:
Random random = new Random();
Integer randomKey = keys[random.nextInt(keys.length)];
String randomValue = map.get(randomKey);
//第一种:普遍使用,二次取值
System.out.println("通过Map.keySet遍历key和value:");
for (String key : map.keySet()) {
System.out.println("key= "+ key + " and value= " + map.get(key));
}
//第二种
System.out.println("通过Map.entrySet使用iterator遍历key和value:");
Iterator> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry entry = it.next();
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}

全部回答
你循环的时候用一个随机数就可以了三。求采纳
比如你map里面有十个键值对,你可以用1-10分别对应代替map里面的十个键,然后随机获取1-10里面的一个数,再对应的得到值
Map 一般的是使用HashMap实现的,HashMap是无序。
如果你不知道具体的键-值对,那么你可以使用 For 循环或者Iterator(迭代器) 直接便利循环,直接输出的内容本身就是无序的。
只要一对,你可以只输出一对即可。
譬如说:
Map map = new HashMap();
先拿所有的键:
Integer[] keys = map.keySet().toArray(new Integer[0]);
然後随机一个键,找出该值:
Random random = new Random();
Integer randomKey = keys[random.nextInt(keys.length)];
String randomValue = map.get(randomKey);
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
那音地址在什么地方,想过去办事
13年8月出的 联想Y410P现在还能用吗? 感觉好
描述雨中荷花的诗句有哪些
地理,决定风速大小的力是什么
车世界专业汽车美容装饰音响贴膜店怎么去啊,
北京市东城区是市区吗?在几环啊?
如何面对考试压力
一张5000罗马尼亚币兑换人民币是多少
管道丁字上(下)接和三通有什么区别
合理酒家怎么去啊,有知道地址的么
求一个奇迹1.03H喝血脚本,一秒十瓶以上的,
小天鹅饺子馆这个地址在什么地方,我要处理点
文苑印务(府前大街与南亭路交叉口旁)地址好找
明天凌晨布莱克本-曼联哪个台有直播?
在深圳考驾驶执照可以去别的省年检吗
推荐资讯
win7 object error怎么解决
一路向北用吉他弹难不难学啊
烟台市外汇管理局
山药能治咳嗽吗
沈阳到哈尔滨开车走京哈高速,听说封路了,有
丹雅美桂养生会所地址在哪,我要去那里办事
蚂蚁大象充值卡怎么用
粤语衬衫怎么读
总结鲁宾逊漂流记的主题 分析鲁宾逊的形象 鲁
贻成豪庭菜市场地址有知道的么?有点事想过去
兄弟反目各奔东西
我和表姐就差最后一步没有迈出了
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?