使用 Java 删除 ArrayList 中的重复元素

1. 使用 Iterator

import java.util.*;

public class Test {
public static <T> List<T> removeDuplicates(List<T> list) {
List<T> newList = new ArrayList<T>();
for (T element : list) {
if (!newList.contains(element)) {
newList.add(element);
}
}
return newList;
} public static void main(String args[]) {
List<Integer> list = new ArrayList<>(Arrays.asList(1, 10, 1, 2, 2, 3, 3, 10, 3, 4, 5, 5));
System.out.println("ArrayList with duplicates: " + list);
List<Integer> newList = removeDuplicates(list);
System.out.println("ArrayList with duplicates removed: " + newList);
}
}

ArrayList with duplicates: [1, 10, 1, 2, 2, 3, 3, 10, 3, 4, 5, 5]

ArrayList with duplicates removed: [1, 10, 2, 3, 4, 5]

2. 使用 LinkedHashSet

import java.util.*;

public class Test {
public static <T> List<T> removeDuplicates(List<T> list) {
Set<T> set = new LinkedHashSet<>();
set.addAll(list);
list.clear();
list.addAll(set);
return list;
} public static void main(String args[]) {
List<Integer> list = new ArrayList<>(Arrays.asList(1, 10, 1, 2, 2, 3, 10, 3, 3, 4, 5, 5));
System.out.println("ArrayList with duplicates: " + list);
List<Integer> newList = removeDuplicates(list);
System.out.println("ArrayList with duplicates removed: " + newList);
}
}

ArrayList with duplicates: [1, 10, 1, 2, 2, 3, 10, 3, 3, 4, 5, 5]

ArrayList with duplicates removed: [1, 10, 2, 3, 4, 5]

3. 使用 Java 8 Stream.distinct()

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors; public class Test {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>(Arrays.asList(1, 10, 1, 2, 2, 3, 10, 3, 3, 4, 5, 5));
System.out.println("ArrayList with duplicates: " + list);
List<Integer> newList = list.stream().distinct().collect(Collectors.toList());
System.out.println("ArrayList with duplicates removed: " + newList);
}
}

ArrayList with duplicates: [1, 10, 1, 2, 2, 3, 10, 3, 3, 4, 5, 5]

ArrayList with duplicates removed: [1, 10, 2, 3, 4, 5]

如何使用 Java 删除 ArrayList 中的重复元素的更多相关文章

  1. Java删除ArrayList中的重复元素

    Java删除ArrayList中的重复元素的2种方法 ArrayList是Java中最常用的集合类型之一.它允许灵活添加多个null元素,重复的元素,并保持元素的插入顺序.在编码时我们经常会遇到那种必 ...

  2. Java之——删除ArrayList中的反复元素的2种方法

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47414935 ArrayList是Java中最经常使用的集合类型之中的一个.它同意 ...

  3. Java 删除ArrayList中重复元素,保持顺序

    // 删除ArrayList中重复元素,保持顺序          public static List<Map<String, Object>> removeDuplicat ...

  4. Java中ArrayList问题:删除一个ArrayList中的重复元素,注意留意一个问题

    该问题有两种方法: 一 利用两个数组,此法简单,不讨论 二 利用一个数组,从第0个开始依次取元素,并在其后元素中查找是否有该元素,有则删掉后面的重复元素,依次遍历.---但是这种情况要特别注意,当后续 ...

  5. 【Java学习笔记】<集合框架>定义功能去除ArrayList中的重复元素

    import java.util.ArrayList; import java.util.Iterator; import cn.itcast.p1.bean.Person; public class ...

  6. 删除链表中的重复元素:不留&留一个&删除一个

    不留: [抄题]: 给定一个排序链表,删除所有重复的元素只留下原链表中没有重复的元素. [思维问题]: 给出 1->2->3->3->4->4->5->nul ...

  7. 集合框架-ArrayList练习(去除ArrayList集合中的重复元素)

    1 package cn.itcast.p3.arraylist.test; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; ...

  8. python删除列表中得重复得数据

    解决思想:将列表转换为 集合,利用集合删除重复数据得特性删除重复数据,然后将集合转换为列表 #删除列表中得重复元素 def delect_1 (lt): s = set(lt) lt = list(s ...

  9. java集合 collection-list-ArrayList 去除ArrayList集合中的重复元素。

    import java.util.*; /* 去除ArrayList集合中的重复元素. */ class ArrayListTest { public static void sop(Object o ...

随机推荐

  1. LCT动态树入门

    LCT,link-cut-tree,一种基于splay的高级数据结构,常用于维护动态森林问题,但ta只能维护子树信息,无法修改子树信息. 首先,如果你不会splay,来这里看看吧. 接下来步入正题. ...

  2. 基于Spark Mllib的文本分类

    基于Spark Mllib的文本分类 文本分类是一个典型的机器学习问题,其主要目标是通过对已有语料库文本数据训练得到分类模型,进而对新文本进行类别标签的预测.这在很多领域都有现实的应用场景,如新闻网站 ...

  3. Linux系统Web网站目录和文件安全权限设置

    查看Linux文件的权限:ls -l 文件名称查看linux文件夹的权限:ls -ld 文件夹名称(所在目录)例如: drwxr-xr-x 2 root root 4096 2009-01-14 17 ...

  4. 解题:HAOI 2015 按位或

    题面 Min-Max容斥:对于集合S $min(S)=\sum_{s∈S}(-1)^{|s|+1}max(s)$ $max(S)=\sum_{s∈S}(-1)^{|s|+1}min(s)$ 那么这个题 ...

  5. Activiti学习之 多实例实现会签功

    转: Activiti学习之 多实例实现会签功能 2014年11月26日 11:27:11 程诺 阅读数:26185   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog ...

  6. mongodb 设置用户密码权限

    1 设置管理员账户 use admindb.createUser({ user: "useradmin", pwd: "adminpassword", role ...

  7. Java基础-使用Idea进行远程调试

    Java基础-使用Idea进行远程调试 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  8. Ubantu里面的Sublime Text3不支持中文的解决办法

    参考的大佬链接:https://github.com/lyfeyaj/sublime-text-imfix 更新然后将系统升级到最新版本,在linux终端输入 sudo apt-get update ...

  9. OpenResty 扩展库(二)lua-resty-template

    Lua和OpenResty的模板引擎(HTML) 模板语法 您可以在模板中使用以下标签: {{expression}},写入表达式的结果 - html转义 {*expression*},写入表达结果 ...

  10. JMS学习(六)--提高非持久订阅者的可靠性 以及 订阅恢复策略

    一,非持久订阅者 和 实时消费消息 在这篇文章中区分了Domain为Pub/Sub.Destination为Topic时,消费者有两种:持久订阅者 和 非持久订阅者. 对于持久订阅者而言,只要订阅了某 ...