两种方法,第一种:第一层循环从左端开始作为参照,然后
另一尾端从后面扫过来,把与头相同的全部删除掉,其实效率也挺高;
第二种:把list放到hashset,直接把重复的删除掉,然后再把hashset放到list里
- package jdkpractice;
- import java.util.ArrayList;
- import java.util.HashSet;
- import java.util.Iterator;
- import java.util.List;
- public class DupliateList
- {
- public static void main(String[]args)
- {
- Listlist=new ArrayList();
- for(int i=0;i<20;i++)
- {
- list.add("king"+i);
- }
- for(int i=0;i<10;i++)
- {
- list.add("king"+i);
- }
- System.out.println("before del: ");
- for(int i=0;i
- {
- System.out.print(list.get(i)+" ");
- }
- System.out.println("after del: ");
- //list=reDuplicate(list);
- list=rebySet(list);
- for(int i=0;i
- {
- System.out.print(list.get(i)+" ");
- }
- }
-
- public static List reDuplicate(List list)
- {
- for(int i=0;i
- {
- for(int j=list.size()-1;j>i;j--)
- {
- if(list.get(j).equals(list.get(i)))
- {
- list.remove(j);
- }
- }
- }
- return list;
- }
-
- public static List rebySet(List list)
- {
- HashSet hs=new HashSet(list);
- list.clear();
- list.addAll(hs);
- return list;
- }
- }
阅读(937) | 评论(0) | 转发(0) |