gpt4 book ai didi

Java: HashMap 中的复合键

转载 作者:行者123 更新时间:2023-12-01 19:44:59 28 4
gpt4 key购买 nike

我想将一组对象存储在 hashmap 中,其中键应是两个字符串值的组合。有没有办法实现这个目标?

我可以简单地连接两个字符串,但我确信有更好的方法来做到这一点。

最佳答案

您可以有一个包含两个字符串的自定义对象:

class StringKey {
private String str1;
private String str2;
}

问题是,您需要确定两个此类对象的相等性测试和哈希码。

相等可以是两个字符串的匹配,并且哈希码可以是连接成员的哈希码(这是有争议的):

class StringKey {
private String str1;
private String str2;

@Override
public boolean equals(Object obj) {
if(obj != null && obj instanceof StringKey) {
StringKey s = (StringKey)obj;
return str1.equals(s.str1) && str2.equals(s.str2);
}
return false;
}

@Override
public int hashCode() {
return (str1 + str2).hashCode();
}
}

关于Java: HashMap 中的复合键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59131541/

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