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

 我来答
惜月知道
高粉答主

2018-04-08 · 每个回答都超有意思的
知道小有建树答主
回答量:166
采纳率:96%
帮助的人:2.4万
展开全部

举个例子:

Map<Integer, String> map = new HashMap<Integer, String>();

先拿所有的键:

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<Map.Entry<String, String>> it = map.entrySet().iterator();

while (it.hasNext()) {

Map.Entry<String, String> entry = it.next();

System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}

xw_hg3317
2013-10-15 · TA获得超过109个赞
知道答主
回答量:127
采纳率:0%
帮助的人:32.9万
展开全部
比如你map里面有十个键值对,你可以用1-10分别对应代替map里面的十个键,然后随机获取1-10里面的一个数,再对应的得到值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
work4brains
推荐于2017-09-13 · TA获得超过469个赞
知道答主
回答量:198
采纳率:0%
帮助的人:166万
展开全部
譬如说:
Map<Integer, String> map = new HashMap<Integer, String>();

先拿所有的键:
Integer[] keys = map.keySet().toArray(new Integer[0]);

然後随机一个键,找出该值:
Random random = new Random();
Integer randomKey = keys[random.nextInt(keys.length)];
String randomValue = map.get(randomKey);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
只身海的边缘
2013-10-15 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:106
采纳率:0%
帮助的人:57万
展开全部
Map 一般的是使用HashMap实现的,HashMap是无序。
如果你不知道具体的键-值对,那么你可以使用 For 循环或者Iterator(迭代器) 直接便利循环,直接输出的内容本身就是无序的。
只要一对,你可以只输出一对即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
磊帅
2013-10-15 · TA获得超过274个赞
知道小有建树答主
回答量:847
采纳率:50%
帮助的人:311万
展开全部
你循环的时候用一个随机数就可以了三。求采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式