你可以使用像:
Random generator = new Random();
Map.Entry[] entries = myHashMap.entrySet().toArray();
randomValue = entries[generator.nextInt(entries.length)].getValue();
更新。
以上不起作用,Set.toArray()总是返回一个对象数组,它不能被强制转换成Map.Entry的数组。
这个(更简单的版本)可以正常工作:
Random generator = new Random();
Object[] values = myHashMap.values().toArray();
Object randomValue = values[generator.nextInt(values.length)];
如果要将随机值作为Object以外的类型,只需将转换添加到最后一行即可。所以如果myHashMap被声明为:
Map myHashMap = new HashMap();
最后一行可以是:
String randomValue = (String) values[generator.nextInt(value.length)];