Что такое эквивалент Java Objective-C NSDictionary?
Какова ближайшая реализация Objective-C NSDictionary в Java? Для меня это выглядит как HashMap<String, Object>, но я очень новичок в Objective-C.
Спасибо
Ответ 1
NSDictionary - кластер классов (см. раздел "Кластер Класса" в Руководство по основам Cocoa), что означает, что фактическое реализация скрыта от вас, пользователя API. Фактически, Foundation Foundation выберет соответствующую реализацию во время выполнения на основе количества данных и т.д. Кроме того, NSDictionary может взять любой id в качестве ключа, а не только NSString (конечно, -hash ключевого объекта должен быть постоянным).
Таким образом, ближайший аналог, вероятно, Map<Object,Object>.
Ответ 2
Для практического использования:
HashMap<String, Object> - это путь для простого, непараллельного словаря.
Однако, если вам нужно что-то потокобезопасное (атомное), вам придется использовать
HashTable<String, Object>
который является потокобезопасным, но - особенно - не принимает значение null как допустимое значение или ключ.
Ответ 3
Я, по общему признанию, новичок в Android, но для меня ContentValues, по-видимому, ближе всего к NSDictionary.