C#ArrayList重复数据删除 那个是引用类型的问题,ArrayList.Contains(object)里面的object比较的是引用(就像是一个指针),object的引用要指向的实际值一致才返回true。要比较对像的实际值要用Equals(object),当然,在你的对像里重载Equals(object)函数,例如:public override bool Equals(object obj){ if(((yourClassName)object).name=this.name)return true;elsereturn false;}然后移除重复值如下:for(int ii=0;ii;ii+){for(int jj=ii+1;jj;jj+){if(list[ii].Equals(list[jj]))list.RemoveAt(jj);jj-;由于刚刚删除了一个,所以jj要后退一个}}
如何从一个存在重复数据的ArrayList中得到不重复数据集合? 这个简单Set s=new HashSet();for(Object i:arraylist集合对象){s.add(i);不加重复的元素}s集合就为不重复元素的集合
ArrayList去除重复元素?不是一般的去重复。 利用set的唯一性还有正则表达式过滤掉重复的JAVA可以这样写就能完成了。不明白4853为什么被过滤掉import java.util.ArrayList;public class Dog {public static void main(String args[]){ArrayList<;String>;list=new ArrayList();inputList(list);ArrayList<;String>;newList=removeDuplicateElement(list);for(String str:newList){System.out.println(str);}}private static ArrayList<;String>;removeDuplicateElement(ArrayList<;String>;list){String reg=\"^_[0-9]*;ArrayList<;String>;newList=new ArrayList();for(int i=0,size=list.size();i;i+){String item=list.get(i);if(item.matches(reg)){if(newList.contains(item)){continue;}else{newList.add(item);}}else{newList.add(item);}}return newList;}private static void inputList(ArrayList<;String>;list){list.add(\"_3410024\");list.add(\"_3428295\");list.add(\"_3425804\");list.add(\"_3428441\");list.add(\"_3678921\");list.add(\"_3423808\");list.add(\"_4010701\");list.add(\"_3429486\");list.add(\"_4010690\");list.add(\"_4010691\");list.add(\"_3013566\");list.add(\"_203760\");list.add(\"_。