Clojure - Карты
А Mapэто коллекция, которая сопоставляет ключи со значениями. Предусмотрены два разных типа карт - хешированная и отсортированная.HashMaps требуются ключи, которые правильно поддерживают hashCode и равно. SortedMaps требуются ключи, реализующие Comparable, или экземпляр Comparator.
Карта может быть создана двумя способами, первый - с помощью метода hash-map.
Создание - HashMaps
HashMaps имеют типичную взаимосвязь «ключ-значение» и создаются с помощью функции хэш-карты.
(ns clojure.examples.example
(:gen-class))
(defn example []
(def demokeys (hash-map "z" "1" "b" "2" "a" "3"))
(println demokeys))
(example)
Выход
Приведенный выше код дает следующий результат.
{z 1, b 2, a 3}
Создание - SortedMaps
SortedMaps обладают уникальной характеристикой сортировки своих элементов на основе ключевого элемента. Ниже приведен пример, показывающий, как можно создать отсортированную карту с помощью функции sorted-map.
(ns clojure.examples.example
(:gen-class))
(defn example []
(def demokeys (sorted-map "z" "1" "b" "2" "a" "3"))
(println demokeys))
(example)
Приведенный выше код дает следующий результат.
{a 3, b 2, z 1}
Из приведенной выше программы вы можете ясно видеть, что элементы на картах отсортированы по значению ключа. Ниже приведены методы, доступные для карт.
Sr. No. | Карты и описание |
---|---|
1 | получить Возвращает значение, сопоставленное с ключом, не найдено или ноль, если ключ отсутствует. |
2 | содержит? Посмотрите, есть ли на карте необходимый ключ. |
3 | найти Возвращает запись карты для ключа. |
4 | ключи Возвращает список ключей на карте. |
5 | вальс Возвращает список значений на карте. |
6 | разобщать Удаляет запись значения ключа с карты. |
7 | слияние Объединяет две записи карты в одну запись карты. |
8 | слиться с Возвращает карту, состоящую из остальных карт, соединенных с первой. |
9 | клавиши выбора Возвращает карту, содержащую только те записи в карте, ключ которых находится в ключах. |
10 | переименовать ключи Переименовывает ключи в текущем HashMap на вновь определенные. |
11 | карта-инвертировать Инвертирует карты, чтобы значения становились ключами, и наоборот. |