HashMap<key,value>
中存在的值集。如何通过避免HashMap
中的重复值,在HashMap<key,value>
ArrayList
内添加android
值。
答案 0 :(得分:1)
您的意思是将HashMap
中的唯一值添加到ArrayList
吗?
如果是,您可以将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());
}
答案 1 :(得分: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);
您需要适当地替换变量值,因为您没有发布任何代码。这是一个很好的例子,可以为将来任何类型的问题设置一个通用示例。