Clojure映射(Maps)
Map是将键映射到值的集合,HashMaps需要正确支持hashCode和equals的键, SortedMaps需要实现Comparable的键或Comparator的实例。
创建HashMaps
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
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 |
| 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,使值成为键,反之亦然。 |
祝学习愉快! (发现内容有误?请选中要编辑的内容 -> 右键 -> 修改 -> 提交!帮助我们改进教程质量)
精选教程推荐
👇 以下精选教程可能对您有帮助,拓展您的技术视野
暂无学习笔记,成为第一个分享的人吧!
您的笔记将帮助成千上万的学习者