我已阅读有关LinkedHashMap
中有重复键的一些问题(one,two)。但我有一个特定的要求来处理遗留代码中的场景。
我在代码中有LinkedHashMap<String,String>
,我需要修改代码以支持重复的密钥。我创建了下面的课程
public class StringContainer {
private String data;
public StringContainer(String data) {
this.data = data;
}
@Override
public String toString() {
return this.data;
}
@Override
public int hashCode() {
return 10;
}
}
并将代码修改为LinkedHashMap<StringContainer,String>
。现在我的代码工作正常,因为我通过不覆盖来破坏equal()
方法。这种方法很好吗?我将面临的任何隐藏问题(性能除外)?