【发布时间】:2013-08-25 15:14:40
【问题描述】:
假设我有 10 个名字的集合。单击按钮时,程序应从该集合中生成一个随机名称。它是如何实现的?
【问题讨论】:
-
你有什么样的收藏?
List,Set?
假设我有 10 个名字的集合。单击按钮时,程序应从该集合中生成一个随机名称。它是如何实现的?
【问题讨论】:
List, Set?
假设你有一个字符串的集合(列表):
List<String> list;
然后得到一个随机的:
Collections.shuffle(list);
String random = list.get(0);
实际上你可以使用随机列表中的任何元素,但第一个 (.get(0)) 似乎是最简单的。
【讨论】:
你可以试试
list.get((int) (Math.random() * list.size()))
如果你没有List,而是另一种不支持索引的集合,你仍然可以使用类似的东西:
new ArrayList<>(col).get((int) (Math.random() * col.size()))
【讨论】:
假设我有 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;
}
希望对你有帮助。
【讨论】: