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

get

キーにマップされた値、not-found、またはキーが存在しない場合はnilを返します。

2

contains?

マップに必要なキーが含まれているかどうかを確認します。

3

find

キーのマップエントリを返します。

4

keys

マップ内のキーのリストを返します。

5

vals

マップ内の値のリストを返します。

6

dissoc

キー値エントリをマップから分離します。

7

merge

2つのマップエントリを1つの単一のマップエントリにマージします。

8

merge-with

最初に結合された残りのマップで構成されるマップを返します。

9

select-keys

キーがキーにあるマップ内のエントリのみを含むマップを返します。

10

rename-keys

現在のHashMapのキーの名前を新しく定義されたものに変更します。

11

map-invert

値がキーになり、その逆になるようにマップを反転します。