Ответ 1
Как отмечали другие, NSArray/NSMutableArray - это то, что вы ищете.
Из мира Java вы можете обнаружить, что предложения коллекции Cocoa кажутся довольно ничтожными. Фактически, функциональность довольно обширна. NSArray
, NSDictionary
и NSSet
являются, фактически, кластерами классов, что означает, что публичный API является "абстрактным" класс. Когда вы инициализируете одну из коллекций, то, что вы получаете, фактически является конкретной реализацией, адаптированной для данных, которые вы предоставляете. Эти реализации могут также изменять конкретную реализацию во время выполнения, если данные изменяются (например, они растут по размеру). Это возможно из-за Objective-C гораздо более динамического времени выполнения, чем позволяет статическая типизация Java (и безопасность). Таким образом, кластерная стратегия класса скрывает многие из реализаций, например. интерфейс java.util.List
, за единственным API.
Структуры Cocoa несколько ограничены в составных структурах данных (т.е. построенных поверх "примитивных" массивов, наборов и словарей). Вы можете обнаружить, что отличный, открытый источник CHDataStructures заполняет многие пробелы.