Матрица обнаружения столкновений - быстрое удаление и добавление массива

1

Я создаю пользовательскую матрицу обнаружения столкновений. Когда мои объекты попадают в определенную матрицу, я помещаю их в категорию и проверяю только столкновение внутри этой категории. Это потому, что я создаю сотни тысяч объектов. Сейчас я использую от двух до трех ArrayLists, чтобы добавлять и удалять вещи. Какой будет наиболее эффективный класс для такого поведения

//master object list
//matrix list
//checks all the master object list and if something meets criteria place in the specific matrix list
//remove from matrix list when no longer meets criteria

как вы можете себе представить, я занимаюсь тысячами и тысячами циклов, чтобы тип datatype/class позволял мне быстро добавлять и удалять элементы из массива вроде объекта.

Теги:

1 ответ

0

Кажется, для вас здесь достаточно простого LinkedList.

Вы просто хотите перебирать список "master", и если он соответствует критериям, добавьте в "матричный" список? Итерацией будет O (n), а добавление к концу связанного списка - O (1).

Затем вы хотите выполнить итерацию по списку "matrix" и удалить все, которые больше не соответствуют критериям? Опять же, вы можете перебирать этот список в O (n), а абстракции - O (1) для связанного списка.

Конечно, если вы не хотите перебирать весь список матриц, чтобы найти те, которые нужно удалить, то вы можете получить fancier в зависимости от критериев, как он обновляется и т.д.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню