2013-08-15 3 views
-1

У меня есть массивПолучить четыре числа случайных в массиве

String[] arr={"a","b","c","d","e","f","a","d","m","e"}; 

Я хочу, чтобы получить случайные 4 различных чисел из этого массива. Как мне это сделать?

+1

1.) какой язык это, пожалуйста, соответствующим образом перепишите свой вопрос. – arkascha

+1

2.) Как вы хотите получить числа из массива, который содержит ... * строки? * –

ответ

1
List<String> shuffled = Collections.shuffle(Arrays.asList(arr)); 
List<String> fourRandoms = shuffled.subList(0, 4); 

Или, если вы хотите оставить массив нетронутым:

List<String> shuffled = Collections.shuffle(new ArrayList<String>(Arrays.asList(arr))); 
List<String> fourRandoms = shuffled.subList(0, 4); 

EDIT: удалить дубликаты из массива, используйте Set:

Set<String> uniqueValues = new HashSet<String>(Arrays.asList(arr)); 
List<String> shuffled = Collections.shuffle(new ArrayList<String>(uniqueValues)); 
List<String> fourRandoms = shuffled.subList(0, 4); 

Изучают стандартные коллекции Java , и полностью избегайте использования массивов. Вы должны использовать Set с самого начала, если дубликаты не разрешены.

+0

Я хочу получить четыре числа randoms, и все они не одинаковы. Как ваш путь, получите только 4 числа случайных массивов. –

+0

См. Мой отредактированный ответ. –

+0

ok спасибо. Готово –

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