假设我有 10 个名字的集合。单击按钮时,程序应从该集合中生成一个随机名称。它是如何实现的?
问问题
1527 次
3 回答
4
假设您有一个字符串集合(列表):
List<String> list;
然后得到一个随机的:
Collections.shuffle(list);
String random = list.get(0);
实际上,您可以使用洗牌列表中的任何元素,但第一个 ( .get(0)
) 似乎是最简单的。
于 2013-08-25T15:26:37.413 回答
1
你可以试试像
list.get((int) (Math.random() * list.size()))
如果您没有List
,但是另一种不支持索引的集合,您仍然可以使用类似的东西:
new ArrayList<>(col).get((int) (Math.random() * col.size()))
于 2013-08-25T15:34:14.100 回答
0
假设我有 10 个名字的集合。
String[] names = new String[10];
// Make sure you init the array
单击按钮时,程序应从该集合中生成一个随机名称。
我假设通过从该集合中生成一个随机名称,您的意思是从该集合中选择一个随机名称。
private String onButtonClicked() {
return names[getRandomNumber(0, names.length - 1);];
}
private static int getRandomNumber(int begin, int end) {
Random generator = new Random();
return generator.nextInt(end - begin + 1) + begin;
}
我希望这会有所帮助。
于 2013-08-25T15:22:26.270 回答