Clojure - Mappe

UN Mapè una raccolta che associa le chiavi ai valori. Sono disponibili due diversi tipi di mappe: hash e ordinate.HashMaps richiedono chiavi che supportino correttamente hashCode ed è uguale a. SortedMaps richiedono chiavi che implementino Comparable o un'istanza di Comparator.

Una mappa può essere creata in due modi, il primo è tramite il metodo hash-map.

Creazione - HashMaps

Le HashMap hanno una tipica relazione valore-chiave e vengono create utilizzando la funzione hash-map.

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

Produzione

Il codice precedente produce il seguente output.

{z 1, b 2, a 3}

Creazione - SortedMaps

SortedMaps ha la caratteristica unica di ordinare i propri elementi in base all'elemento chiave. Di seguito è riportato un esempio che mostra come è possibile creare la mappa ordinata utilizzando la funzione mappa ordinata.

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

Il codice precedente produce il seguente output.

{a 3, b 2, z 1}

Dal programma di cui sopra puoi vedere chiaramente che gli elementi nelle mappe sono ordinati in base al valore della chiave. Di seguito sono riportati i metodi disponibili per le mappe.

Sr.No. Mappe e descrizione
1 ottenere

Restituisce il valore mappato su key, not-found o nil se key non è presente.

2 contiene?

Verifica se la mappa contiene una chiave richiesta.

3 trova

Restituisce la voce della mappa per la chiave.

4 chiavi

Restituisce l'elenco delle chiavi nella mappa.

5 vals

Restituisce l'elenco dei valori nella mappa.

6 dissoc

Dissocia una voce di valore chiave dalla mappa.

7 unire

Unisce due voci di mappa in una singola voce di mappa.

8 fondersi con

Restituisce una mappa che consiste nel resto delle mappe riunite nella prima.

9 tasti di selezione

Restituisce una mappa contenente solo le voci nella mappa la cui chiave è in keys.

10 rinomina-chiavi

Rinomina le chiavi nella HashMap corrente con quelle appena definite.

11 map-invert

Inverte le mappe in modo che i valori diventino le chiavi e viceversa.