首页 > Java > java教程 > 正文

如何在保持顺序的同时从 Java 列表中删除重复项?

Patricia Arquette
发布: 2024-11-03 18:19:03
原创
672 人浏览过

How Can I Remove Duplicates from a List in Java While Maintaining Order?

从列表中删除重复项

在 Java 中使用列表时,可能需要删除重复元素。一种常见的尝试是在添加元素之前使用 for 循环检查每个元素是否已存在于列表中。但是,这种方法效率低下并且容易出错。

问题:

您描述了在尝试从 Customer 对象列表中删除重复项时遇到的问题。您的代码使用 for 循环在添加客户之前检查客户是否尚未出现在列表中。

解决方案:

提供的解决方案提供了更高效和更高效的解决方案。在保留列表原始顺序的同时删除重复项的简洁方法。它利用 LinkedHashSet 类,该类根据插入顺序维护元素的链接列表,并自动删除重复项。

使用 LinkedHashSet:

以下代码片段演示了如何使用 LinkedHashSet 删除重复项同时保持顺序:

<code class="java">List<Customer> depdupeCustomers = new ArrayList<>(new LinkedHashSet<>(customers));</code>
登录后复制

此行从客户列表中创建一个新的 LinkedHashSet,从而产生一组唯一的客户。然后该集合将转换回有序列表(ArrayList)。

修改原始列表:

如果您想更改原始列表,可以使用以下代码:

<code class="java">Set<Customer> depdupeCustomers = new LinkedHashSet<>(customers);
customers.clear();
customers.addAll(dedupeCustomers);</code>
登录后复制

此代码将列表转换为 LinkedHashSet,删除重复项,清除原始列表,然后将唯一元素添加回其中,从而有效地从原始列表中删除重复项。

以上是如何在保持顺序的同时从 Java 列表中删除重复项?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板