Соответствие
Общее описание
Соответствие — это коллекция экземпляров типа КлючИЗначение<ТипКлюча,ТипЗначения>. Порядок обхода элементов соответствует порядку добавления элементов в соответствие. Соответствие позволяет хранить элементы произвольных типов.
Соответствия могут быть неизменяемыми и изменяемыми:
- в неизменяем ом соответствии нельзя изменять, добавлять или удалять элементы. Тип для неизменяемого соответствия называется
ЧитаемоеСоответствие<ТипКлюча,ТипЗначения>; - в изменяемом соответствии можно изменять, добавлять или удалять элементы. Тип для изменяемого соответствия называется
Соответствие<ТипКлюча,ТипЗначения>.
Экземпляр КлючИЗначение<ТипКлюча,ТипЗначения>
Экземпляр КлючИЗначение<ТипКлюча,ТипЗначения> два свойства: Ключ и Значение. В качестве некоторой аналогии можно представить ситуацию следующим образом: Ключ — это имя переменной, которой присваивается Значение. Однако аналогия является достаточно условной, т. к. в качестве имени переменной может выступать только строка символов определенного формата, а в качестве значе ния свойства Ключ может выступать экземпляр любого типа.
Создание соответствия и заполнение значениями
Соответствие можно создать несколькими способами:
- с помощью конструктора пустого соответствия;
- с помощью литерала.
Данные инициализации заключаются в символы {}. Сами данные инициализации состоят из пар «ключ-значение». Пары разделяются символом ,. Значение ключа отделяется от собственно значения символом :.
// Литерал пустого соответствия,
// в котором ключ типа Строка, а значение типа Число
пер КурсыВалют1 = <Строка, Число>{:}
// Литерал соответствия с элементами.
// Типы ключа и значения будут выведены из литерала.
пер КурсыВалют2 = {"Рубль РФ": 1, "Рубль Белоруссии": 31.01}
// Конструктор пустого соответствия и вставка элемента
КурсыВалют3 = новый Соответствие<Строка, Число>()
КурсыВалют3.Вставить("Рубль РФ", 1)
Если на момент создания соответствия неясно, какие данные в нем будут храниться, то добавить эти данные можно потом. В примере выше так делается с соответствиями КурсыВалют1 и