Clojure - Mapas

UNA Mapes una colección que asigna claves a valores. Se proporcionan dos tipos de mapas diferentes: hash y ordenados.HashMaps requieren claves que admitan correctamente hashCode y equals. SortedMaps requieren claves que implementen Comparable, o una instancia de Comparator.

Se puede crear un mapa de dos formas, la primera es mediante el método hash-map.

Creación - HashMaps

Los HashMaps tienen una relación clave-valor típica y se crean mediante la función hash-map.

(ns clojure.examples.example
   (:gen-class))
(defn example []
   (def demokeys (hash-map "z" "1" "b" "2" "a" "3"))
   (println demokeys))
(example)

Salida

El código anterior produce la siguiente salida.

{z 1, b 2, a 3}

Creación - SortedMaps

SortedMaps tiene la característica única de ordenar sus elementos en función del elemento clave. A continuación, se muestra un ejemplo que muestra cómo se puede crear el mapa ordenado utilizando la función de mapa ordenado.

(ns clojure.examples.example
   (:gen-class))
(defn example []
   (def demokeys (sorted-map "z" "1" "b" "2" "a" "3"))
   (println demokeys))
(example)

El código anterior produce la siguiente salida.

{a 3, b 2, z 1}

En el programa anterior, puede ver claramente que los elementos en los mapas están ordenados según el valor de la clave. A continuación se muestran los métodos disponibles para mapas.

No Señor. Mapas y descripción
1 obtener

Devuelve el valor asignado a la clave, no encontrado o nulo si la clave no está presente.

2 contiene?

Vea si el mapa contiene una clave requerida.

3 encontrar

Devuelve la entrada de mapa para la clave.

4 llaves

Devuelve la lista de claves en el mapa.

5 vals

Devuelve la lista de valores en el mapa.

6 dissoc

Disocia una entrada de valor clave del mapa.

7 unir

Fusiona dos entradas de mapas en una sola entrada de mapa.

8 fusionarse con

Devuelve un mapa que consta del resto de los mapas conjugados con el primero.

9 seleccionar-teclas

Devuelve un mapa que contiene solo aquellas entradas en el mapa cuya clave está en claves.

10 cambiar el nombre de las claves

Cambia el nombre de las claves en el HashMap actual a las recién definidas.

11 mapa-invertir

Invierte los mapas para que los valores se conviertan en claves y viceversa.