Clojure - Cartes

UNE Mapest une collection qui mappe les clés aux valeurs. Deux types de carte différents sont fournis: hachés et triés.HashMaps nécessitent des clés qui prennent correctement en charge hashCode et equals. SortedMaps nécessitent des clés qui implémentent Comparable ou une instance de Comparator.

Une carte peut être créée de deux manières, la première se fait via la méthode hash-map.

Création - HashMaps

Les HashMaps ont une relation clé-valeur typique et sont créés à l'aide de la fonction hash-map.

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

Production

Le code ci-dessus produit la sortie suivante.

{z 1, b 2, a 3}

Création - SortedMaps

SortedMaps a la particularité unique de trier leurs éléments en fonction de l'élément clé. Voici un exemple qui montre comment la carte triée peut être créée à l'aide de la fonction de carte triée.

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

Le code ci-dessus produit la sortie suivante.

{a 3, b 2, z 1}

À partir du programme ci-dessus, vous pouvez clairement voir que les éléments des cartes sont triés selon la valeur de clé. Voici les méthodes disponibles pour les cartes.

N ° Sr. Cartes et description
1 avoir

Renvoie la valeur mappée à key, not-found ou nil si la clé n'est pas présente.

2 contient?

Vérifiez si la carte contient une clé requise.

3 trouver

Renvoie l'entrée de carte pour la clé.

4 clés

Renvoie la liste des clés de la carte.

5 vals

Renvoie la liste des valeurs de la carte.

6 dissocier

Dissocie une entrée de valeur clé de la carte.

sept fusionner

Fusionne deux entrées de carte en une seule entrée de carte.

8 fusionner avec

Renvoie une carte composée du reste des cartes conjuguées à la première.

9 touches de sélection

Renvoie une carte contenant uniquement les entrées de la carte dont la clé est dans les clés.

dix renommer les clés

Renomme les clés du HashMap actuel en celles nouvellement définies.

11 carte-inverser

Inverse les maps pour que les valeurs deviennent les clés et vice versa.