Dictionary
является коллекция Association
с. Это, по сути, канонический сборник Smalltalk ассоциаций. (Экземпляр класса Association - это пара ключевых значений, где значение может быть объектом любого класса).
Преимущество, которое дает вам Словарь:, что у него есть специализированные методы для общения с Ассоциациями по сравнению с другими Коллекциями, которые могут возникнуть у вас искушения использовать.
Dictionary
обеспечивает:
removeKey: aKey .
удаляет AKEY
includesKey: aKey .
проверяет для существования ключевой
includes: aValue .
проверки существования значения
at:put: .
стенографии для
anAssociation := Association key:value: .
aDictionary add:
например,
anAssociation := Association key: 'Hello'
value: 'A greeting people often use' .
aDictionary add: anAssociation .
Если ключ уже существует в словаре, то at:put
будет перезаписывать предварительно установленное значение с новым значением, поэтому очень важно, чтобы проверить и убедиться, что ключ имеет уникальное значение при добавлении новых элементов.
И ключ, и значение могут быть экземпляром объекта любого класса. Каждая ассоциация в словаре может быть любым видом объекта, и каждый отдельный ключ и значение могут быть экземпляром другого класса объекта из любого другого элемента в словаре.
Вы можете создать ассоциацию по
anAssociation := Association key: 'keyOfElement' value: 'valueOfElement'
или, более кратко,
anAssociation := 'keyOfElement' -> 'valueOfElement'
Если вы хотите использовать ключи полностью сделаны специально для Symbol
с, есть также Class
IdentityDictionary
Я использую Янтарь. –
@RichardEng обновил мой ответ – Uko