2015-10-11 2 views
1

Я пытаюсь создать список слов, и я хочу случайным образом выбрать один для использования в String. Вот то, что я в настоящее время:Получение случайной строки из списка

private List<String> words = new ArrayList<String>(); 
public void someMethod() { 
    words.addAll(Arrays.asList("string1", "string2", "string3"); 
    for (String s : words) { 
     // What now? How would I pick a random string from the list 
     // Also, if I shouldn't loop through the words, please tell me 
     System.out.println(randomString); 
    } 
} 

ответ

1

Вы можете сгенерировать случайный int от 0 до размера списка, а затем получить элемент по этому индексу.

words.addAll(Arrays.asList("string1", "string2", "string3"); 
String randomString = words.get(ThreadLocalRandom.current().nextInt(0, words.size())); 

ThreadLocalRandom.nextInt(origin, bound) возвращает значение INT псевдослучайных между указанным происхождения (включительно) и указанная оценка (эксклюзив).

+0

Это хороший вариант, я думаю, лучшее решение для требования OP. – hagrawal

+0

Спасибо, это сработало для меня! –

Смежные вопросы