"батон"65
42"полка"
ДатаИстина

Ключ произвольного типа

Ключом может быть значение любого типа, поддерживающего сравнение на равенство — строка, число, дата, булево, ссылка на объект, даже массив или структура. Для примитивных типов (Число, Строка, Дата, Булево) сравнение при поиске ключа — по значению; для ссылочных типов (СправочникСсылка и т.п.) — по значению самой ссылки, то есть тоже фактически «по значению» (два СправочникСсылка с одинаковым GUID — один и тот же ключ), а не по адресу объекта в памяти:

Соответствие = Новый Соответствие;
Соответствие.Вставить(Справочники.Товары.НайтиПоКоду("001"), "любимый");
 
Ссылка2 = Справочники.Товары.НайтиПоКоду("001");  // другая переменная, тот же элемент справочника
Соответствие.Получить(Ссылка2);                    // "любимый" — нашлось по значению ссылки

Для изменяемых коллекций (Массив, Структура, Соответствие) в качестве ключа — сравнение по ссылке на сам объект, а не по содержимому (см. особенности массива): два разных объекта Массив с одинаковыми элементами — разные ключи.

Порядок элементов

Как и Структура, соответствие — неупорядоченная коллекция: порядок Для Каждого не гарантирован платформой, подробнее — Обход.

Передача по ссылке

Соответствие — ссылочный тип, поведение при передаче в процедуры/функции такое же, как у Массива и Структуры: мутация содержимого видна снаружи, Знач защищает только от переприсвоения параметра целиком.

Сравнение и проверка типа

Соответствие1 = Соответствие2 сравнивает ссылки на объект, а не содержимое.

ТипЗнч(Соответствие) = Тип("Соответствие");  // Истина, если Соответствие — именно Соответствие

Соответствие или Структура

СтруктураСоответствие
Тип ключатолько строкалюбой
Доступточка или ["Ключ"]только [Ключ] или Получить()
Отсутствующий ключисключение (кроме Свойство())Получить()Неопределено, [] — исключение

Если ключи — фиксированный набор имён, известных заранее (настройки, параметры) — удобнее структура: обращение через точку короче и читаемее. Если ключ — произвольное значение, не известное на этапе написания кода (число, дата, ссылка на элемент справочника) — только соответствие.

Соответствие