有没有办法在Java中随机获取HashMap的值?
最佳答案
这行得通:
Random generator = new Random();
Object[] values = myHashMap.values().toArray();
Object randomValue = values[generator.nextInt(values.length)];
如果您希望随机值是 Object
以外的类型,只需在最后一行添加一个强制转换。所以如果 myHashMap
被声明为:
Map<Integer,String> myHashMap = new HashMap<Integer,String>();
最后一行可以是:
String randomValue = (String) values[generator.nextInt(value.length)];
下面的不起作用,Set.toArray()
总是返回一个Object
组成的数组,不能强制放入 Map.Entry
数组中。
Random generator = new Random();
Map.Entry[] entries = myHashMap.entrySet().toArray();
randomValue = entries[generator.nextInt(entries.length)].getValue();
关于java - 有没有办法在 Java 中随机获取 HashMap 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/929554/