gpt4 book ai didi

java - 从数组列表中删除项目

转载 作者:行者123 更新时间:2023-12-01 13:35:59 24 4
gpt4 key购买 nike

在 ArrayList 中,我有相同类型的对象。每个对象都有一个 id、名称和编号作为其字段。有可能多个对象具有相同的电话号码。如何使 ArrayList 的所有 ArrayList 对象都具有不同的电话号码?

最佳答案

在类方法中重写 equals()hashCode() 。在 equals 中,您将通过电话号码进行比较。也可以根据您的电话号码生成哈希码。

现在您可以使用 Set界面将自动通过电话号码比较您的对象并排除重复项。

下面的例子:

public class Test {
private int id;
private String name;
private String phoneNumber;

public Test(int id, String name, String phoneNumber) {
this.id = id;
this.name = name;
this.phoneNumber = phoneNumber;
}


@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Test test = (Test) o;
return phoneNumber.equals(test.phoneNumber);

}

@Override
public int hashCode() {
return phoneNumber.hashCode();
}
}

现在而不是使用 List<Test> arr = ArrayList<Test>() ,使用Set<Test> mySet = new HashSet<Test>() .

关于java - 从数组列表中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21275187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com