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. |