2013-08-25 89 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()))