假设我有一个像 1,3,7,9 这样的数字数组/向量,那么我需要从这个列表中随机猜测一个数字。在 Java 中使用 Random 类似乎不可能做到这一点。谁能帮我告诉我一种做这种事情的方法。我必须更改用于生成随机数的数字列表。我正在尝试实施一种自动玩战舰游戏的策略作为任务。请帮我做这个吗?
如果你只是想选择one仅随机数,或者想要选择多个随机数并重新插入(即允许多次选择相同数字的可能性),您可以生成随机索引:
List<Integer> lst = ....;
int index = new Random().nextInt(lst.size());
Integer randomeValue = lst.get(index);
您也可以使用数组代替。这需要O(1)
对于每个选择。
如果您需要从列表中选择多个不同的随机数,则使用Collections.shuffle()
迭代列表将是一个更好的解决方案。这需要O(n)
对于所有查询。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)