首页 > 解决方案 > 如何从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"));

        //???
    }
}

标签: java

解决方案


要回答您的问题:

如何使用 hashset 从下面的列表中删除重复的对象。你能在不使用equals方法的情况下帮忙吗

HashSet.add需要equals比较元素的方法......所以你不能。

公共布尔加法(E e)

如果指定的元素尚不存在,则将其添加到此集合中。更正式地说,如果此集合不包含元素 e2,则将指定元素 e 添加到此集合中,使得 (e==null ? e2==null : e.equals(e2))。如果该集合已包含该元素,则调用将保持该集合不变并返回 false。


推荐阅读