IEqualityJava中的Comparer接口
2022-09-04 02:03:31
更具体地说,我想要一个接口来比较对象,这些对象只能进行比较的相等性[例如复数],但对它们没有总顺序。它应该有[注意,它只返回一个布尔是/否]
boolean Equals(T object1, T object2);
和哈希码函数。因此,当我使用对象说收集“相等”对象将它们分发到存储桶中时,2个“相等”对象不会最终位于两个不同的存储桶中。
int getHashCode(T object);
Java有吗?我搜索了一下,找不到它。
我试图在Hadoop Map Reduce中使用它来将“相等”对象分发到相同的reduce作业,以便我可以对所有“相等”对象进行操作。我只关心对象是否相等,不需要总顺序。但是,如果两个对象相等,它们应该具有相同的哈希代码。否则,他们最终将从事两种不同的减少工作。
请注意,我知道对象的等于和哈希码。但是我想要一个外部比较器,它只依赖于对象的一部分。因此,对象的平等概念与我的不同。