java - 如何从java arraylist中删除用户定义的对象
问题描述
如何使用 hashset 从下面的列表中删除重复的对象。你能在不使用equals方法的情况下帮忙吗
public class Duplicate {
public static void main(String[] args) {
// TODO Auto-generated method stub
List<Customer> customers = new ArrayList<>();
customers.add(new Customer(1, "Jack"));
customers.add(new Customer(2, "James"));
customers.add(new Customer(3, "Kelly"));
customers.add(new Customer(3, "Kelly"));
customers.add(new Customer(3, "Kelly"));
//???
}
}
解决方案
要回答您的问题:
如何使用 hashset 从下面的列表中删除重复的对象。你能在不使用equals方法的情况下帮忙吗
HashSet.add
需要equals
比较元素的方法......所以你不能。
公共布尔加法(E e)
如果指定的元素尚不存在,则将其添加到此集合中。更正式地说,如果此集合不包含元素 e2,则将指定元素 e 添加到此集合中,使得 (e==null ? e2==null : e.equals(e2))。如果该集合已包含该元素,则调用将保持该集合不变并返回 false。
推荐阅读
- javascript - 单击 React NavLink 会导致错误:Uncaught (in promise) TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))
- rust - 锈盒和移动
- javascript - 如何进行自动淡入淡出?
- php - mpdf 错误:致命错误:未捕获的 Mpdf\MpdfException:数据已发送到输出,无法输出 PDF 文件我该如何解决此错误?
- javascript - 缺失的数据应该在下一个数组上
- python - 无法将 NumPy 数组转换为张量(不支持的对象类型字典)
- google-trends - 如何从 Google 趋势中获取超过 25 个相关查询?
- swiftui - 在一个 SwiftUI 视图中相同的 ForEach 循环两次
- python - 为什么权重数组应该有一定的维度
- c# - 绑定动态操作时发生意外异常 - 将 Activator 用于动态变量和泛型类