Обычно класс "изменчивый массив" реализуется как оболочка вокруг простого массива. Обертка выделяет больше памяти, когда вы добавляете элемент за конец. Это общая структура данных, и эффективность различных операций хорошо известна. Вы получаете O (1) доступ к элементу, O (N) вставляете и удаляете, или O (1) (в среднем) вставляете и удаляете в конце массива. Но NSMutableArray
- это нечто другое. Например, docs говорят [акцент мой]:
Примечание. Большинство операций над массивом принимают постоянное время: доступ к элементу, добавление или удаление элемента с любого конца и замена элемента. Вставка элемента в середину массива занимает линейное время.
Итак, что же такое NSMutableArray
? Это где-то документально?