Java 在ArrayList中的HashMap中添加HashMap值,在Android中不重复
Java 在ArrayList中的HashMap中添加HashMap值,在Android中不重复,java,android,arraylist,hashmap,duplicates,Java,Android,Arraylist,Hashmap,Duplicates,HashMap中存在的一组值。如何在android中避免重复值,从而在HashMap内部ArrayList中添加HashMap值 要在数组列表中添加HashMap值,请使用以下方法: 首先声明如下,以灵活地将值直接添加为数组列表 ArrayList>myArrayHash=新建ArrayList 向其中添加值: 如果您已经根据问题的声音创建了HashMap: myArrayHash.add(HashMapValue) 为了避免重复: 您需要在java中使用Set类,因此最终代码将如下所示: S
HashMap
中存在的一组值。如何在android
中避免重复值,从而在HashMap
内部ArrayList
中添加HashMap
值 要在数组列表中添加HashMap值,请使用以下方法:
首先声明如下,以灵活地将值直接添加为数组列表
ArrayList>myArrayHash=新建ArrayList
向其中添加值:如果您已经根据问题的声音创建了HashMap:
myArrayHash.add(HashMapValue)代码>
为了避免重复:
您需要在java中使用Set类
,因此最终代码将如下所示:
Set hashset=new hashset();
addAll(myArrayHash);
myArrayHash.clear();
myArrayHash.addAll(hashset)代码>
您需要适当地替换变量值,因为您没有发布任何代码。这是一个很好的示例,可以为您将来的任何此类问题提供一个通用示例。您的意思是将唯一值从HashMap
添加到ArrayList
如果是,您可以将HashMap条目添加到反向HashMap
,然后获取此反向映射的所有键。假设您的密钥具有类类型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());
}
//如果需要,请更改为private
公共列表getUniqueValues(Map originMap){
Map reverseMap=新的HashMap();
Set keys=originMap.keySet();
迭代器迭代器=keys.Iterator();
while(iterator.hasNext()){
K key=iterator.next();
V val=originMap.get(键);
反向映射添加(val,键);
}
返回新的ArrayList(reverseMap.keySet());
}
请发布一些代码,问题非常糟糕提供一个示例或代码看看答案是否足以解决您的问题在myArrayHash中添加hashset时显示错误(类型ArrayList中的方法add(HashMap)不适用于参数(Set))。