如何检查元素的功能是否包含在集合中?

时间:2018-04-25 00:16:41

标签: java collections contains

我想覆盖集合的.cointains方法。我需要它不仅在找到完全匹配时返回正数,而且如果它找到的元素与列表中包含的元素略有不同。标准位于我可以调用的方法中.almostSimilarTo()。

如何正确实施?是否需要lambdas?

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

在Java Collection类中,contains()使用集合中对象的equals()方法来确定元素是否在集合中。覆盖要插入到集合中的对象的.equals()方法,并让.equals()方法使用.almostSimilarTo()方法中的逻辑。

覆盖equals()时,请务必了解the equals() hashCode() contract

答案 1 :(得分:1)

这是一种疯狂的做法,以覆盖收集方法。

尝试在其他地方实现此逻辑。例如,您的类可以实现Comparable,或者您可以使用Comparator,或者使用许多其他选项。