Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2793147
  • 博文数量: 471
  • 博客积分: 7081
  • 博客等级: 少将
  • 技术积分: 5369
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-04 21:55
文章分类

全部博文(471)

文章存档

2014年(90)

2013年(69)

2012年(312)

分类: Java

2012-08-15 09:35:43


两种方法,第一种:第一层循环从左端开始作为参照,然后另一尾端从后面扫过来,把与头相同的全部删除掉,其实效率也挺高;
第二种:把list放到hashset,直接把重复的删除掉,然后再把hashset放到list里

点击(此处)折叠或打开

  1. package jdkpractice;

  2. import java.util.ArrayList;
  3. import java.util.HashSet;
  4. import java.util.Iterator;
  5. import java.util.List;

  6. public class DupliateList
  7. {
  8.     public static void main(String[]args)
  9.     {
  10.         Listlist=new ArrayList();
  11.         for(int i=0;i<20;i++)
  12.         {
  13.             list.add("king"+i);
  14.         }
  15.         for(int i=0;i<10;i++)
  16.         {
  17.             list.add("king"+i);
  18.         }
  19.         System.out.println("before del: ");
  20.         for(int i=0;i
  21.         {
  22.             System.out.print(list.get(i)+" ");
  23.         }
  24.         System.out.println("after del: ");
  25.         //list=reDuplicate(list);
  26.         list=rebySet(list);
  27.         for(int i=0;i
  28.         {
  29.             System.out.print(list.get(i)+" ");
  30.         }
  31.     }
  32.     
  33.     public static List reDuplicate(List list)
  34.     {
  35.         for(int i=0;i
  36.         {
  37.             for(int j=list.size()-1;j>i;j--)
  38.             {
  39.                 if(list.get(j).equals(list.get(i)))
  40.                 {
  41.                     list.remove(j);
  42.                 }
  43.             }
  44.         }
  45.         return list;
  46.     }
  47.     
  48.     public static List rebySet(List list)
  49.     {
  50.         HashSet hs=new HashSet(list);
  51.         list.clear();
  52.         list.addAll(hs);
  53.         return list;
  54.     }
  55. }

阅读(902) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~