Конечно, на ум приходит класс NSSet Какао. C ++ STL также имеет набор классов.
Конечно, вам нужен какой-то способ определения уникального объекта помимо простого сравнения указателей или ссылок. Например, в Какао два объекта считаются одинаковыми для целей NSSet, если они отвечают на isEqual:
с помощью YES
и имеют одинаковый хэш-код.