我想覆盖集合的.cointains方法。我需要它不仅在找到完全匹配时返回正数,而且如果它找到的元素与列表中包含的元素略有不同。标准位于我可以调用的方法中.almostSimilarTo()。
如何正确实施?是否需要lambdas?
感谢您的帮助。
答案 0 :(得分:2)
在Java Collection类中,contains()
使用集合中对象的equals()
方法来确定元素是否在集合中。覆盖要插入到集合中的对象的.equals()
方法,并让.equals()
方法使用.almostSimilarTo()
方法中的逻辑。
覆盖equals()
时,请务必了解the equals() hashCode() contract
。
答案 1 :(得分:1)
这是一种疯狂的做法,以覆盖收集方法。
尝试在其他地方实现此逻辑。例如,您的类可以实现Comparable,或者您可以使用Comparator,或者使用许多其他选项。