Dee*_*sai 2 java queue interface
我正在查看 java 队列,我坚持这一行“队列实现通常不定义 equals 和 hashCode 方法的基于元素的版本,而是从 Object 继承基于身份的版本。 ”
1.需要以上文字的完整意思。
2.什么是equals和hashcode的基于元素的版本——它指的是什么?
3.基于身份的版本——这是什么意思?
4. 版本是属于类还是对象/谁的版本以及它将在哪里?
网址:https : //docs.oracle.com/javase/tutorial/collections/interfaces/queue.html
这意味着标准的实现Queue接口通常不会覆盖equals和hashCode该方法的Object类,这意味着默认的实现Object类使用(即简单的使用基于身份的版本==为equals)。
equals和 的基于元素的版本hashCode将确定两个Collections 是否相等,并hashCode根据 中包含的元素进行计算Collection,这就是它被称为“基于元素”的原因。
例如,ArrayList(或者实际上是它的超类AbstractList)equals如果两个Lists 具有相同数量的元素并且元素彼此相等(按照它们出现的顺序),则它们以一种彼此相等的方式覆盖。本hashCode是一个功能hashCode的所有元件S1。