На самом простом уровне, пару ключ-значение только два значения, один из которых вы обозначили, чтобы быть «ключ», а другой вы обозначили как «ценность».
Однако чаще всего речь идет о парах ключ-значение в контексте отображения, то есть математической функции, которая отображает от ключа к соответствующему значению или значениям. В зависимости от свойств этого сопоставления вы можете ограничить набор пар ключ-значение. Например, для отображения от 1 до 1 вам нужно, чтобы ключи в наборе были уникальными.
Последующие вопросы:
Это так же, как массив?
Ну ... массив можно рассматривать как отображение из набора индексов (целых чисел) в значения. Но отображение является более общим. А в Java массивы имеют другие свойства, которые отличают их от Map
... и у них намного проще, быстрее и меньше памяти.
(Обратите внимание, что на некоторых языках нет типа данных типа «массив». Вместо этого примитив представляет собой «хэш» или «ассоциативный массив» ... который является более общей картой.)
И является ли ключ всегда строкой?
№ Ключ может быть любого типа.
Скажем переменную типа String указывает на объект или int переменные указывает на значение int. Разве эта переменная не является «ключом», а объект «значением»?
Нет. По крайней мере, не на статическом языке, таком как Java. Вещь, которая отличает пару «ключ-значение» от привязки переменной, заключается в том, что «ключевым» объектом являются данные и, следовательно, могут принимать разные значения. Напротив, имя переменной жестко связано с исходным кодом вашей программы: вы не можете изменить ее во время выполнения.
(На некоторых динамических языках вы можете динамически создавать новые переменные (во время выполнения), и для таких языков вы можете утверждать, что переменные являются парами ключ-значение в сопоставлении, представляющем область ... в какой-то момент но Java не так ...)
Что говорит ваш учебник? – AntonH
Что скажет интернет-поиск? Буквально миллионы хитов !! –
Пара ключ-значение представляет собой два связанных элемента данных: ключ, который является уникальным идентификатором для некоторого элемента данных, и значение, которое является либо идентифицируемыми данными, либо указателем на местоположение этих данных. что все это – AlphaWolf