Java中List去重的多种方法

复制代码
//Stream 去重:list.stream().distinct()
public static List removeDuplicate(List list) {
    HashSet hashSet = new HashSet(list);
    list.clear();
    list.addAll(hashSet);
    return list;
}


//通过 HashSet 剔除重复元素
public static List removeDuplicate(List list) {
    List newList = (List) list.stream().distinct().collect(Collectors.toList());
    return newList;
}


//通过HashSet剔除重复元素
public static List removeDuplicate(List list) {
    Set set = new HashSet();
    List newList = new ArrayList();
    for (Iterator iter = list.iterator(); iter.hasNext(); ) {
        Object next = iter.next();
        if (set.add(next)) {
            newList.add(next);
        }
    }
    list.clear();
    list.addAll(newList);
    return list;
}
//遍历 list,用 tempList.contain()
public static List removeDuplicate(List list) {
    List tempList = new ArrayList();
    for (int i = 0; i < list.size(); i++) {
        if (!tempList.contains(list.get(i))) {
            tempList.add(list.get(i));
        }
    }
    return tempList;
}

//循环 list 中的所有元素然后删除重复
public static List removeDuplicate(List list) {
    for (int i = 0; i < list.size(); i++) {
        for (int j = list.size() - 1; j > i; j--) {
           if (list.get(i).equals(list.get(j))) {
                list.remove(list.get(i));
            }
        }
    }
    return list;
}
相关推荐
麦麦鸡腿堡3 小时前
Java事件处理机制
java·开发语言·python
小画家~4 小时前
第二十八:golang Time.time 时间格式返回定义结构体
java·前端·golang
西岭千秋雪_4 小时前
Kafka安装和使用
java·分布式·kafka·java-zookeeper
5***79004 小时前
Swift进阶
开发语言·ios·swift
從南走到北4 小时前
JAVA国际版打车APP打车顺风车滴滴车跑腿APP源码Android+IOS+H5
android·java·ios
Java天梯之路4 小时前
如何接收前端参数
java·后端
独自破碎E4 小时前
从括号匹配到字符串解码:递归思想的巧妙应用
android·java·开发语言
Charles_go4 小时前
C#13、什么是部分类
开发语言·c#
忧郁的橙子.4 小时前
二、Rabbit MQ 高级
java·开发语言
谢尔登4 小时前
原型理解从入门到精通
开发语言·javascript·原型模式