Clojure-maps
提供:Dev Guides
Clojure-マップ
*Map* は、キーを値にマップするコレクションです。 ハッシュとソートの2つの異なるマップタイプが提供されます。 *HashMaps* は、hashCodeおよびequalsを正しくサポートするキーを必要とします。 *SortedMaps* には、Comparableを実装するキー、またはComparatorのインスタンスが必要です。
マップは2つの方法で作成できます。1つ目は、ハッシュマップメソッドを使用する方法です。
作成-HashMaps
HashMapは典型的なキー値関係を持ち、ハッシュマップ関数を使用して作成されます。
(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
SortedMapには、キー要素に基づいて要素を並べ替えるという独自の特性があります。 以下は、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. | Maps & Description |
---|---|
1 |
キーにマップされた値、not-found、またはキーが存在しない場合はnilを返します。 |
2 |
マップに必要なキーが含まれているかどうかを確認します。 |
3 |
キーのマップエントリを返します。 |
4 |
マップ内のキーのリストを返します。 |
5 |
マップ内の値のリストを返します。 |
6 |
キー値エントリをマップから分離します。 |
7 |
2つのマップエントリを1つの単一のマップエントリにマージします。 |
8 |
最初に結合された残りのマップで構成されるマップを返します。 |
9 |
キーがキーにあるマップ内のエントリのみを含むマップを返します。 |
10 |
現在のHashMapのキーの名前を新しく定義されたものに変更します。 |
11 |
値がキーになり、その逆になるようにマップを反転します。 |