有没有像 LinkedHashMap 一样工作的 java 集合,但也反映了 equals 和 hashCode 中的顺序?-> 两个元素相同但顺序不同的 Map 不应该相等,应该有不同的 hashCode。
基于 Peter Lawrey 回答的解决方案(xAxis 是 LinkedHashMap):
哈希码:
...
result = prime * result + ((xAxis == null) ? 0 : xAxis.hashCode() + xAxis.toString().hashCode());
...
等于:
...
if (xAxis == null) {
if (other.xAxis != null) {
return false;
}
} else if (!xAxis.equals(other.xAxis)) {
return false;
} else if (!xAxis.toString().equals(other.xAxis.toString())) {
return false;
}
...
(它基于eclipse生成的代码)