Я пытаюсь удалить 140 000 объектов из ArrayList размером 7,140,000. Я ожидал, что это займет несколько секунд (если это произойдет), но вместо этого Java занимает несколько секунд на тысячу объектов. Вот мой код:
for (int i = list.size(); i > P; i--)
{
int size = list.size();
int index = (int) (Math.random() * size);
list.remove(index);
}
Примечание: P - это константа, которую я ранее установил в 7 000 000.
Цель цикла - случайное удаление объектов из списка, пока его размер не достигнет 7 000 000.
Является ли Java таким долгое время, потому что я начинаю с более чем 7 миллионов объектов? Я никогда не замечал этой проблемы эффективности с удалением из ArrayLists в прошлом. Если это помогает, я использую IDE DrJava Beta.