Java:PriorityQueue';s contains()方法无法按预期工作

Java:PriorityQueue';s contains()方法无法按预期工作,java,equals,contains,priority-queue,Java,Equals,Contains,Priority Queue,我正在为计算机类编写一个使用*的程序,但似乎无法使contains方法按我所需的方式运行。我使用一对优先级队列来保存我定义的节点类的对象。我在Node类中编写了一个equals方法,它在单独的基础上运行良好,而且,据我所知,当我单独调用它时,它还将重写Object类中的base equals方法 不过,调用contains方法不会检测到“相同”的节点。我的印象是contains使用equals来确定队列是否确实包含所讨论的对象。我把它弄得一团糟,并对其原因感到困惑,这使我相信我对contains

我正在为计算机类编写一个使用*的程序,但似乎无法使contains方法按我所需的方式运行。我使用一对优先级队列来保存我定义的节点类的对象。我在Node类中编写了一个equals方法,它在单独的基础上运行良好,而且,据我所知,当我单独调用它时,它还将重写Object类中的base equals方法

不过,调用contains方法不会检测到“相同”的节点。我的印象是contains使用equals来确定队列是否确实包含所讨论的对象。我把它弄得一团糟,并对其原因感到困惑,这使我相信我对contains works方式的理解是有缺陷的,但是,据Java文档所述,它看起来应该是可行的


在正确的方向上的任何建议或指针都将非常感谢,谢谢。

将有助于查看一些代码示例,但是考虑到您需要实现HASCODE以及相等,并且它们需要与一个另一个Java容器()方法一致:如果(o!= null){ for(inti=0;i