天天看點

删除ArrayList中重複元素

用Set ,倘若list裡邊的元素不是基本資料類型而是對象,那麼請覆寫Object的boolean equals(Object obj) 和int hashCode()方法.

return new ArrayList(new HashSet(list)); 

方法一:循環元素删除

// 删除ArrayList中重複元素

public static void removeDuplicate(List 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(list);

}

方法二:通過HashSet剔除

// 删除ArrayList中重複元素

public static void removeDuplicate(List list) {

     HashSet h = new HashSet(list);

     list.clear();

     list.addAll(h);

     System.out.println(list);

}

方法三: 删除ArrayList中重複元素,保持順序

// 删除ArrayList中重複元素,保持順序

public static void removeDuplicateWithOrder(List 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);

    System.out.println( " remove duplicate " + list);

}

繼續閱讀