java队列接口

时间:2015-10-27 06:49:12

标签: java interface queue

我正在查看java队列,我坚持这一行 “队列实现通常不定义equals和hashCode方法的基于元素的版本,而是从Object继承基于身份的版本。

  

1.需要完整的上述内容。
  2.什么是基于元素的equals和hashcode版本 - 它指的是什么?   3.基于身份的版本 - 这是什么意思?
  4.版本属于类或对象/谁的版本和它将在哪里?

网址:https://docs.oracle.com/javase/tutorial/collections/interfaces/queue.html

2 个答案:

答案 0 :(得分:3)

这意味着Queue接口的标准实现通常不会覆盖equals类的hashCodeObject方法,这意味着Object的默认实现使用了1}}类(即基于身份的版本,仅使用==进行equals)。

基于元素的equalshashCode版本将确定两个Collection是否相等,并根据hashCode中包含的元素计算Collection,这就是为什么它被称为“基于元素”。

例如,ArrayList(实际上是其超类AbstractList)会以两个equals彼此相等的方式覆盖List相同数量的元素和元素彼此相等(按它们出现的顺序)。 hashCode是所有元素的hashCode的函数。

答案 1 :(得分:0)

Queue接口位于java.util包内部,它扩展了Collection接口。在这里,我找到了Java Queue Example的很好的解释。