Maps
优质
小牛编辑
132浏览
2023-12-01
Map是将键映射到值的集合。 提供了两种不同的地图类型 - 散列和排序。 HashMaps需要正确支持hashCode和equals的密钥。 SortedMaps需要实现Comparable的键或SortedMaps的实例。
可以通过两种方式创建地图,第一种是通过哈希映射方法。
创作 - HashMaps
HashMaps具有典型的键值关系,并使用哈希映射函数创建。
(ns clojure.examples.example
(:gen-class))
(defn example []
(def demokeys (hash-map "z" "1" "b" "2" "a" "3"))
(println demokeys))
(example)
输出 (Output)
上面的代码产生以下输出。
{z 1, b 2, a 3}
创作 - SortedMaps
SortedMaps具有基于关键元素对其元素进行排序的独特特征。 以下是一个示例,显示如何使用sorted-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}
从上面的程序中,您可以清楚地看到地图中的元素按键值排序。 以下是可用于地图的方法。
Sr.No. | 地图和描述 |
---|---|
1 | get 如果key不存在,则返回映射到key,not-found或nil的值。 |
2 | contains? 查看地图是否包含必需的密钥。 |
3 | find 返回键的映射条目。 |
4 | keys 返回地图中的键列表。 |
5 | vals 返回地图中的值列表。 |
6 | dissoc 从地图中分离键值条目。 |
7 | merge 将两个映射条目合并为一个映射条目。 |
8 | merge-with 返回一个映射,该映射由第一个映射的其余映射组成。 |
9 | select-keys 返回一个映射,该映射仅包含键中键的那些条目。 |
10 | rename-keys 将当前HashMap中的键重命名为新定义的键。 |
11 | map-invert 反转地图,使值成为键,反之亦然。 |