2013-08-25 90 views

回答

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; 
} 

我希望有帮助。

+0

数组不是一个集合。 – Bohemian

+0

@Bohemian他没有说明是什么类型的集合,由于他提供的对象数量是有限的,他想以这种存储集合,我以为这是一个数组。 –

+0

在java中[收藏](http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html)具有此特定的含义。 – Bohemian

4

假设你有一个字符串的集合(列表):

List<String> list; 

然后得到一个随机:

Collections.shuffle(list); 
String random = list.get(0); 

其实你可以使用洗牌列表中的任何元素,但第一(.get(0))似乎是最简单的。

1

你可以只尝试像

list.get((int) (Math.random() * list.size())) 

如果没有List做,但收集的另一种类型不支持索引,你仍然可以使用类似的东西:

new ArrayList<>(col).get((int) (Math.random() * col.size()))