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 карта-инвертировать

Инвертирует карты, чтобы значения становились ключами, и наоборот.