gpt4 book ai didi

java - 使用自己的 HashSet.add() 实现

转载 作者:行者123 更新时间:2023-12-01 16:56:54 25 4
gpt4 key购买 nike

我正在使用哈希集将唯一的用户添加到哈希集中。这些用户经常从在线源更新,当它从那里读取数据时,每次都会获得一个新对象,因此所有用户都会再次添加。

我的用户类中有一个 UserID 变量,并希望使用它来将用户添加到 HashSet 并确保唯一性。

private HashSet<User> userHashSet = new HashSet<User>();

userHashSet.add(user);
//based on the users id it will either add or not

我想在不损失效率的情况下做到这一点,最好只有一个 HashSet

最佳答案

您应该在 User 类中实现 equalshashCode 方法。

举个例子:

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

@Override
public boolean equals(Object obj) {
return obj instanceof User &&
getUserId().equals(((User) obj).getUserId());
}

关于java - 使用自己的 HashSet.add() 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31443640/

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