去除List列表中重复值(3种解决方法)

来源:互联网 发布:外包数据存储 编辑:程序博客网 时间:2024/05/16 19:29

public static void main(String[] args) {
   String[] ar = { "dd", "c", "dd", "ff", "b", "e", "e" };
   ArrayList list = new ArrayList();
   for (int i = 0; i < ar.length; i++) {
    list.add(ar[i]);
   }
   System.out.println("运行前:");
   for (int i = 0; i < list.size(); i++) {
    System.out.print(list.get(i) + " ");

   }
   System.out.println();
   /*   第一种方法                   */
   /**
   * set方法去除list中重复的数据 set中插入重复的值只保留一个
   */
   HashSet h = new HashSet(list);
   list.clear();
   list.addAll(h);
   /* 第一种方法                   */
  
   /* 第二种方法                   */
   /**
   * 第二中方法去除list中重复的数据
   */
   Set set = new HashSet();
   List newList = new ArrayList();
   for (Iterator iter = list.iterator(); iter.hasNext();) {
    Object element = iter.next();
    if (set.add(element))
     newList.add(element);
   }
   list.clear();
   list.addAll(newList);
   /* 第二种方法                   */
  
  
   /* 第三种方法                        */
   /**
   * 普通的方法去除list中重复的数据
   */
   for (int i = 0; i < list.size() - 1; i++) {
    for (int j = list.size() - 1; j > i; j--) {
     if (list.get(j).equals(list.get(i))) {
      list.remove(j);
     }
    }
   }
   /* 第三种方法                        */

   System.out.println("运行后:");
   for (int i = 0; i < list.size(); i++) {
    System.out.print(list.get(i) + " ");
   }
}