24
Янв
2021

Как правильно выбрать случайный элемент из массива?

Программа создаёт массив

MyObjects[][] array = new Myobjects[30][30];

логика программы заполняет некоторые элементы объектами, а некоторые элементы остаются null. Мне нужно выбрать случайный элемент из тех которые равны null. Я решил сделать это так: а) в цикле перебираю массив array и в новый пустой (freeList) список сохраняю адреса null-элементов массива, б) с помощью Random из списка freeList выбираю случайный элемент и по его адресу в массив array сохраняю следующий объект. Но этот способ мне не нравиться, потому что 1)придётся постоянно перебирать циклом весь массив(даже когда осталось всего несколько null-элементов), 2)создавать новый пустой список freeList (или очищать старый), добавлять в него новые элементы и это нужно повторять довольно часто по логике программы. Подскажите, как правильнее выбрать из массива случайный null-элемент? Чтобы это не слишком загружало процессор и уборщик мусора.

Источник: https://ru.stackoverflow.com/questions/1235412/%D0%9A%D0%B0%D0%BA-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE-%D0%B2%D1%8B%D0%B1%D1%80%D0%B0%D1%82%D1%8C-%D1%81%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D1%8B%D0%B9-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-%D0%B8%D0%B7-%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D0%B0

Тебе может это понравится...

Добавить комментарий