2016-09-08 63 views

回答

0

要添加HashMap中值內的數組列表使用這種方法:

如下首先聲明它靈活地直接添加的值作爲ArrayList
ArrayList<HashMap<key,value>>> myArrayHash = new ArrayList<HashMap<key,value>>

將值添加到其中:
如果您已經從您的問題的聲音中創建了您的HashMap: myArrayHash.add(HashMapValue);

爲了避免重複:
您需要使用Java中的Set Class所以最後的代碼將如下金額:
Set<ArrayList<HashMap<key,value>>> hashset = new HashSet<>(); hashset.addAll(myArrayHash); myArrayHash.clear(); myArrayHash.addAll(hashset);

您需要更換您的變量值適當,因爲你還沒有發佈任何碼。這是一個足夠好的例子,可以爲將來的任何類型的問題提供一個通用示例。

+0

,同時在myArrayHash中添加hashset它顯示錯誤(ArrayList 類型中的方法add(HashMap )不適用於參數(Set >>))。 – Dinesh

1

是否在HashMapArrayList之間添加獨特的值?

如果是,則可以將HashMap條目<K, V>添加到反向HashMap <V, K>,然後獲取該反向映射的所有關鍵字。假設你的鍵有類類型K和你的價值有類類型V

// change to private if needed 
public List<V> getUniqueValues(Map<K, V> originMap) { 

    Map<V, K> reverseMap = new HashMap<>(); 
    Set<K> keys = originMap.keySet(); 
    Iterator<K> iterator = keys.iterator(); 

    while (iterator.hasNext()) { 
     K key = iterator.next(); 
     V val = originMap.get(key); 
     reverseMap.add(val, key); 
    } 
    return new ArrayList<>(reverseMap.keySet()); 
}