gpt4 book ai didi

java - java Set中如何存储唯一的对象以避免重复?

转载 作者:行者123 更新时间:2023-12-02 07:55:49 30 4
gpt4 key购买 nike

如何在java Set中存储唯一的对象以避免重复?

例如

考虑 Employee 对象(员工 ID、姓名、薪水......)

需要添加到Set中的对象的员工列表。我们需要限制 Set 中需要通过“员工 ID 进行识别”的重复元素。

最好的方法是什么?

最佳答案

如果您使用 java.util.Set 的实现,只要您的 equalshashCode 就不应允许重复方法得到正确实现。但不确定为什么你的问题上有 hashmap 和 hashtable 作为标签。也许您应该重新表述您的问题并添加给您带来问题的代码?

编辑:考虑您的编辑:

如果您使用Set,您的员工应具有以下方法:


@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((id == null) ? 0 : id.hashCode());
return result;
}

@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Employee other = (Employee) obj;
if (id == null) {
if (other.id != null)
return false;
} else if (!id.equals(other.id))
return false;
return true;
}

关于java - java Set中如何存储唯一的对象以避免重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12776813/

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