映射是將鍵映射到值的集合。提供了兩種不同的映射類型 - 哈希和排序。HashMaps 需要正確支持hashCode和equals的鍵。 SortedMaps 需要實現(xiàn)可比較的鍵或比較器的實例。
可以通過兩種方式創(chuàng)建映射,第一種是通過哈希映射方法。
HashMaps具有典型的鍵值關(guān)系,并通過使用哈希映射函數(shù)創(chuàng)建。
(ns clojure.examples.example (:gen-class)) (defn example [] (def demokeys (hash-map "z" "1" "b" "2" "a" "3")) (println demokeys)) (example)
上面的代碼輸出以下結(jié)果。
{z 1, b 2, a 3}
SortedMaps 具有根據(jù)關(guān)鍵元素對元素進行排序的獨特特性。以下的示例顯示如何使用sorted-map函數(shù)創(chuàng)建排序的映射。
(ns clojure.examples.example (:gen-class)) (defn example [] (def demokeys (sorted-map "z" "1" "b" "2" "a" "3")) (println demokeys)) (example)
上面的代碼輸出以下結(jié)果。
{a 3, b 2, z 1}
從上述程序,您可以清楚地看到映射中的元素按照鍵值進行排序。以下是可用于映射的方法。
序號 | 映射 & 說明 |
---|---|
1 | get 返回映射到鍵的值, 如果鍵不存在, 則為未找到或零。 |
2 | contains 查看映射是否包含必需的鍵。 |
3 | find 返回鍵的映射項。 |
4 | keys 返回映射中的鍵列表。 |
5 | vals 返回該圖的值的列表。 |
6 | dissoc 從映射中分離鍵值項。 |
7 | merge 將兩個映射項合并為一個單獨的映射項。 |
8 | merge-with 返回一個映射,其中包含第一個映射的其余映射。 |
9 | select-keys 返回僅包含映射中的鍵的項的映射。 |
10 | rename-keys 將當(dāng)前HashMap中的鍵重命名為新定義的。 |
11 | map-invert 反轉(zhuǎn)映射, 使這些值成為鍵, 反之亦然。 |
更多建議: