На данный вопрос уже ответили:
Здравствуйте. У меня есть
ArrayList myArray = new ArrayList();
Random r = new Random();
for (int i = 0; i < 10; i++){
myArray.add(r.nextInt(10) + 1);
}
Но он заполняет ArrayList любыми числами, а мне надо, чтобы он делал каждое число уникальным (без повторений), и в случайном порядке их раскидывал. Спасибо за помощь!
Чтобы сделать проще то, что вы хотите, познакомьтесь с этим: Множества: Set, HashSet, LinkedHashSet, TreeSet.
На вашем примере:
Random random = new Random();
Set<Integer> numberSet = new HashSet<>();
for (int i = 0; i < 10; i++) {
numberSet.add(random.nextInt(10) + 1);
}
Повторяющихся элементов не будет.
Тогда нужно random permutation, Случайные перестановки
Если по простому, то берем первый элемент и меняем местами с любым другим, потом берем второй и меняем местами с любым кроме первого и так до конца
Само собой сначала нужно заполнить массив значениями, например
myArray.add(i)
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости