Map是将键映射到值的集合,HashMaps需要正确支持hashCode和equals的键, SortedMaps需要实现Comparable的键或Comparator的实例。
可以通过两种方式创建map,第一种是通过hash-map方法。
HashMap具有典型的键值关系,并且是通过使用hash-map函数创建的。
(ns clojure.examples.example (:gen-class)) (defn example [] (def demokeys (hash-map "z" "1" "b" "2" "a" "3")) (println demokeys)) (example)
上面的代码产生以下输出。
{z 1, b 2, a 3}
SortedMaps具有基于key元素对元素进行排序的独特特征,以下示例显示了如何使用sorted-map函数创建排序后的Map。
(ns clojure.examples.example (:gen-class)) (defn example [] (def demokeys (sorted-map "z" "1" "b" "2" "a" "3")) (println demokeys)) (example)
上面的代码产生以下输出。
{a 3, b 2, z 1}
从上面的程序中,您可以清楚地看到map中的元素是根据键值排序的。以下是可用于Map的方法。
Sr.No. | Maps & 描述 |
---|---|
1 |
get 返回map到键的值,如果键不存在,则找不到键或为nil。 |
2 |
contains? 查看Map是否包含必需的key。 |
3 |
find 返回键的map条目。 |
4 |
keys 返回Map中的键列表。 |
5 |
vals 返回map中的值列表。 |
6 |
dissoc 将键值条目与Map分离。 |
7 |
merge 将两个Map条目合并为一个Map条目。 |
8 |
merge-with 返回由map到第一个map的其余map组成的map。 |
9 |
select-keys 返回仅包含键在键中的条目的map。 |
10 |
rename-keys 将当前HashMap中的键重命名为新定义的键。 |
11 |
map-invert 反转map,使值成为键,反之亦然。 链接:https://www.learnfk.comhttps://www.learnfk.com/clojure/clojure-maps.html 来源:LearnFk无涯教程网 |
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)