Ответ 1
NSArray
- это ваша стандартная структура массива.
NSDictionary
- это "хэш-карта" для ключевого значения
NSSet
- неупорядоченный набор уникальных объектов.
Каждый из них неизменен (т.е. как только вы их создаете, вы не можете их изменить). Если вам нужно динамически их модифицировать, вы будете использовать их изменяемые подклассы: NSMutableArray
, NSMutableSet
и т.д.
Для структур, выходящих за рамки этого, проверьте структуру CHDataStructures, в которой есть очереди, стеки, деревья, treaps и многое другое: http://cocoaheads.byu.edu/code/chdatastructures