Как называется класс списка содержащий разреженный массив?

Есть некоторый список/массив в который сущности добавляют некоторые элементы и получают токен (позицию в массиве). На время жизни сущностей и элементов, их положение в массиве не меняется (т.о. токен все время указывает на элемент добавленный сущностью. При уничтожении сущности (или если сущность решает удалить элемент), элемент в массиве зануляется и отмечается свободным, а сущность "забывает" токен. Таким образом, есть некоторый разреженный пул элементов, гарантирующий доступ к элементам по токенам (в простейшем случае - токен = индекс).

Естественно, получается, что число элементов <> размеру массива в котором они хранятся, и естественно, итератор знает как пропускать "пустые" элементы. Вопрос об экономии ресурсов также не стоит - элементов не сильно много и O(n^2) на таких порядках не сильно отличается от O(n), но в будущем, конечно, внутреннюю реализацию можно будет изменить. Сейчас вопрос о самом простом случае - списке/массиве. Также, токены гораздо проще сериализуются/десериализуются.

Т.к. этот подход используется в программе несколько раз, хочу сделать один общий дженерик класс, и далее подставлять в него нужные типы элементов.

Вопрос - как правильно называется такой "список", в котором элементы не меняют своих положений?


Ответы (0 шт):