基於實現HashMap,我得到了一個測試驅動的開發問題(我需要使它基於提供的junit方法工作)使用鍵的字符串和ArrayLists的值。關鍵需要能夠支持一個或多個相應的值。我需要設置我的方法,以便可以從散列中增加或減少值,然後查看散列的更新內容。我的努力是從下面顯示的單元方法(執行myClass和它的addingMethod方法)中獲取信息並將它正確地放入哈希中。HashMap <String,ArrayList>,使用基於密鑰的新值追加ArrayList
void add() {
myClass = new MyClass("key1", "value1");
myClass.addingMethod("blargh", "blarghvalue");
myClass.addingMethod("blargh2", "uglystring");
myClass.addingMethod("blargh", "anotherstring");
//and so on and so on............
對於我的最終結果是,當我打印出來myClass的結果,我需要看的東西,如: {blargh = [blarghvalue,anotherstring],blargh2 = uglystring}
我需要能夠添加到此,並刪除值。
我很新的java收藏(顯然)。如果他們只有1對1關係,並且散列映射爲1:1,我可以使事情發揮作用。所以有一個非常簡單的addingMethod這樣的:
public void addingMethod(String key, String value) {
hashMap.put(key, value);
會得到一串字符串HashMap的,當然,如果我再與新的鍵值對的鍵,原來的鍵值就會被踩踏而消失。當談到動態處理hashmaps和arraylists時,除了1:1的關鍵:價值關係之外,我迷了路。
爲什麼人們不斷鏈接到番石榴版本3的文檔?我們現在13歲了。 –
@LouisWasserman:因爲他們是第一個用google搜索例如'Java Guava Multimap'的命中,所以很容易錯過。 – Keppil
讓我說,作爲一名java總新手,這是一個很棒的發現(儘管肯定會給所有的獸醫一個給定的)。非常感謝你,我只是保存了幾行代碼而且很頭痛。雖然我想弄清楚實現它的'其他'方法,以加強我的Java基礎。 – Benny