我有一組的HashMap的(或一個HashSet,包含HashMap數組)象下面這樣:如何將數據添加到Clojure中的哈希集?
(def mydata #{{:rank 2 :page 1 :group "fish"}
{:rank 1 :page 1 :group "mammal"}
{:rank 3 :page 2 :group "bird"}})
,我有一個新的HashMap是這樣的:
{:group "mammal" :name "lion" :score 566}
我想基本上做什麼是新的HashMap的數據排序合併到上述陣列,所以它看起來像這樣(「組」是連接鍵):
#{{:rank 2 :page 1 :group "fish"}
{:rank 1 :page 1 :group "mammal" :name "lion" :score 566}
{:rank 3 :page 2 :group "bird"}}
我的想法是先找到在索引數組是1(基於零),然後使用與給定的新散列映射相關聯的函數,因此'group'被忽略或保持不變,'name'和'score'被添加。
首先,我需要找到一種方法來獲取該索引,但這是我現在卡住的地方。
有沒有簡單和容易的方法來做到這一點?完成的數據將被轉換爲json。我不確定是否建立一個像這樣的hashmaps數組是一種在Clojure中創建一些json數據的正確方法。至少,將一組hashmaps傳遞給json庫現在可以生成一個數組,以json格式提供數據集,但請提供一些建議,如果我以錯誤的方式行事。)
您的數據結構只允許每組中的一隻動物。是這樣嗎? – Thumbnail
是的,就是這樣。它就像RDB模式中的1:1連接鍵。 – gini09