『壹』 java ArrayList 如何去掉重復的對象以及本身
第一種:只要存在重復的元素全部刪除
publicArrayList<Object>RemoveRepeated(ArrayList<Object>arr){
ArrayList<Object>tmpArr=newArrayList<Object>();
for(inti=0;i<arr.size();i++){
if(tmpArr.contains(arr.get(i))){
tmpArr.remove(indexOf(arr.get(i)));
}else{
tmpArr.add(arr.get(i));
}
}
returntmpArr;
}
第二種:存在重復的元素只保留一個
publicArrayList<Object>RemoveRepeated(ArrayList<Object>arr){
ArrayList<Object>tmpArr=newArrayList<Object>();
for(inti=0;i<arr.size();i++){
if(!tmpArr.contains(arr.get(i))){
tmpArr.add(arr.get(i));
}
}
returntmpArr;
}
『貳』 java list的重復對象怎麼去除
java list的重復對象,可以使用Set集合類沒有重復的數據的特點,將list的數據存入set裡面,過濾掉重復的數據,如下代碼:
packagecom.qiu.lin.he;
importjava.util.ArrayList;
importjava.util.HashSet;
importjava.util.List;
importjava.util.Set;
publicclassCeshi{
publicstaticvoidmain(String[]args){
List<Integer>li=newArrayList<Integer>();//新建一個list結合
li.add(1);
li.add(2);
li.add(3);
li.add(1);
Set<Integer>se=newHashSet<Integer>();//新建一個set集合
for(Integerinteger:li){
se.add(integer);//過濾重復的數據
}
for(Integerinteger:se){
System.out.println("輸出list數組的去重的每個數據"+integer);
}
}
}
運行結果如下:
『叄』 java編程,文件去重
你把讀取的每行文本放入Set對象中就可以去重。不用自己比較了,很方便。
『肆』 JAVA中如何從ArrayList中刪除重復對象
你List中方的是什麼?同一種類型對象,判斷是否相同需要重寫該類的equals()和hashCode()方法,這樣就可以放到set中去重。如果是多少種不同類型對象或多種基本類型,那麼如何判斷是否重復?
arrayList.add(new String("123"));
arrayList.add(new String("123"));
arrayList.add(new int[] { 1, 2, 3 });
arrayList.add(new int[] { 1, 2, 3 });
如果僅僅只是基本類型和字元串對象可以再轉換成字元串判斷是否重復。
如果是自定義多種不同類型對象,沒法進行比較是否重復。或者你把list裡面具體放入的是什麼類型對象貼出來根據實際情況給你去重。