Clojure - Haritalar

Bir Mapanahtarları değerlerle eşleyen bir koleksiyondur. Hashing uygulanmış ve sıralanmış olmak üzere iki farklı harita türü sağlanır.HashMaps hashCode ve equals'ı doğru şekilde destekleyen anahtarlar gerektirir. SortedMaps Comparable'ı veya bir Comparator örneğini uygulayan anahtarlar gerektirir.

Bir harita iki şekilde oluşturulabilir, birincisi hash-map yöntemidir.

Oluşturma - HashMaps

HashMap'ler tipik bir anahtar-değer ilişkisine sahiptir ve hash-map fonksiyonu kullanılarak oluşturulur.

(ns clojure.examples.example
   (:gen-class))
(defn example []
   (def demokeys (hash-map "z" "1" "b" "2" "a" "3"))
   (println demokeys))
(example)

Çıktı

Yukarıdaki kod aşağıdaki çıktıyı üretir.

{z 1, b 2, a 3}

Oluşturma - Sıralanmış Haritalar

SortedMap'ler, öğelerini anahtar öğeye göre sıralama gibi benzersiz bir özelliğe sahiptir. Aşağıda, sıralı haritanın sıralı harita işlevi kullanılarak nasıl oluşturulabileceğini gösteren bir örnek verilmiştir.

(ns clojure.examples.example
   (:gen-class))
(defn example []
   (def demokeys (sorted-map "z" "1" "b" "2" "a" "3"))
   (println demokeys))
(example)

Yukarıdaki kod aşağıdaki çıktıyı üretir.

{a 3, b 2, z 1}

Yukarıdaki programdan haritalardaki öğelerin anahtar değerine göre sıralandığını açıkça görebilirsiniz. Haritalar için kullanılabilen yöntemler aşağıdadır.

Sr.No. Haritalar ve Açıklama
1 almak

Anahtar yoksa, bulunamadı veya nil ile eşlenen değeri döndürür.

2 içerir?

Haritanın gerekli bir anahtarı içerip içermediğine bakın.

3 bulmak

Anahtar için harita girişini döndürür.

4 anahtarlar

Haritadaki anahtarların listesini döndürür.

5 vals

Haritadaki değerlerin listesini döndürür.

6 çözme

Haritadan bir anahtar değeri girişini ayırır.

7 birleştirmek

İki harita girişini tek bir harita girişinde birleştirir.

8 ile birleşmek

Birincisine birleştirilen geri kalan haritalardan oluşan bir harita döndürür.

9 seçme tuşları

Yalnızca anahtarı anahtarlarda olan haritadaki girişleri içeren bir harita döndürür.

10 anahtarları yeniden adlandır

Mevcut HashMap'teki anahtarları yeni tanımlananlarla yeniden adlandırır.

11 harita ters çevirme

Haritaları, değerler anahtar olacak şekilde tersine çevirir ve bunun tersi de geçerlidir.