Android 移除ArrayList<HashMap<String, String>>中的重复
1个回答
展开全部
移除ArrayList中的重复项,可以通过遍历ArrayList中的每一项与其他项去进行比较,如果想等就移除对应的项,这种方法比较麻烦.......也可以使用Set来装ArrayList中的数据,如果一定要用ArrayList的话就再从Set里面把数据取出来装进ArrayList中,因为Set是自动去重复的,这样一来就可以把重复项去掉了....望采纳哦,还写了代码的:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class SetTest {
public static void main(String[] args) {
HashSet<HashMap<String, String>> nlistset= new HashSet<HashMap<String, String>>();
//构造你的集合初始化数据
ArrayList<HashMap<String, String>> olist= new ArrayList<HashMap<String, String>>();
HashMap<String, String> map = new HashMap<String, String>();
map.put("123","123");
for(int i=0;i<10;i++){
olist.add(map);
}
System.out.println(olist.size()); //10
//遍历你的集合
HashMap<String, String> map1=null;
for(int i=0;i<olist.size();i++){
map1= olist.get(i);
nlistset.add(map1);
}
System.out.println(nlistset.size()); //1
//从新还原 自己的 集合
HashMap<String, String> map2=null;
//清空原有集合
olist.clear();
System.out.println(olist.size()); //0
Iterator it = nlistset.iterator();
while(it.hasNext()){
map2=(HashMap<String, String>) it.next();
olist.add(map2);
}
System.out.println(olist.size()); //1
}
}
注:去掉的是ArrayList中的重复,不是HashMap中的重复(Hashmap中不能重复)。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询