Clojure: fusión de mapas con

Devuelve un mapa que consta del resto de los mapas conjugados con el primero. Si una clave aparece en más de un mapa, el mapa o mapas de este último (de izquierda a derecha) se combinarán con el mapa en el resultado.

Sintaxis

A continuación se muestra la sintaxis.

(merge-with f hmap1 hmap2)

Parameters- 'f' es el operador que debe aplicarse a los mapas hash. 'hmap1' es el mapa de claves y valores hash. 'hmap2' es el mapa de claves y valores hash, que debe asignarse con el primer HashMap.

Return Value - Devuelve un mapa que consta del resto de los mapas conjugados con el primero.

Ejemplo

A continuación se muestra un ejemplo de fusión con en Clojure.

(ns clojure.examples.example
   (:gen-class))
(defn example []
   (def demokeys (hash-map "z" 1 "b" 2 "a" 3))
   (def demokeys1 (hash-map "a" 2 "h" 5 "i" 7))
   (println (merge-with + demokeys demokeys1)))
(example)

Salida

El código anterior produce la siguiente salida.

{z 1, a 5, i 7, b 2, h 5}

Observe que en la salida, dado que la clave 'a' aparece dos veces, el valor se agrega de ambos HashMaps según el operador +.