循环 list 中的所有元素然后删除重复

  1. public static List removeDuplicate (List list){
  2. for (int i = 0; i < list.size() - 1; i++) {
  3. for (int j = list.size() - 1; j > i; j--) {
  4. if (list.get(j).equals(list.get(i))) {
  5. list.remove(j);
  6. }
  7. }
  8. }
  9. return list;
  10. }

通过 HashSet 剔除重复元素

public static List removeDuplicate (List list){
    HashSet h = new HashSet(list);
    list.clear();
    list.addAll(h);
    return 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);
}

把 list 里的对象遍历一遍,用 list.contain(),如果不存在就放入到另外一个 list 集合中

public static List removeDuplicate (List list){
    List listTemp = new ArrayList();
    for (int i = 0; i < list.size(); i++) {
        if (!listTemp.contains(list.get(i))) {
            listTemp.add(list.get(i));
        }
    }
    return listTemp;
}