Подтвердить что ты не робот

Что такое эквивалент Java Objective-C NSDictionary?

Какова ближайшая реализация Objective-C NSDictionary в Java? Для меня это выглядит как HashMap<String, Object>, но я очень новичок в Objective-C.

Спасибо

4b9b3361

Ответ 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.