我使用Java HashSet
存储唯一元素,但是现在我想检索元素,但是HashSet没有类似的东西,这是我想要解决的问题:
对于我的用例LinkInfo
hashCode()和equals()方法不使用LinkInfo.id字段,我想从set中获取linkinfo实例并更新其所有字段,但id字段则应来自旧实例
Set<LinkInfo> fooSet = new HashSet<>()
public void updateFoo(LinkInfo linkInfo) {
LinkInfo temp = fooSet.get(linkInfo);
linkInfo.setId(temp.getId());
// now update set
fooSet.remove(linkInfo)
fooSet.add(linkInfo)
}
最佳答案
而不是
LinkInfo temp = fooSet.get(linkInfo);
以下逻辑与您似乎想要的相同
if (fooSet.contains(linkInfo)) {
temp = linkInfo;
}
关于java - 什么是具有独特元素(如set)和get element功能的正确Java集合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50940409/