gpt4 book ai didi

java - 为链表创建 equals 和 hashcode 方法

转载 作者:行者123 更新时间:2023-12-01 15:52:38 24 4
gpt4 key购买 nike

我的作业应该是使用单链表(节点)实现列表和链表中的某些方法。

我想知道如何使用它实现 equals 方法和 hashcode 方法,equals 方法比较两个列表,但我不确定它如何转换为节点,它是否创建两个节点列表?或者一个接着另一个,我将如何创建测试相等性的方法?


public class List12 implements java.util.List {<p></p>

<p>private Node head;
private int size;</p>

<p>private class Node{
T data;
Node next;
Node previous;
Node(T data){
this.data = data;
}
public Node(){
this.data = null;
this.next = null;
}</p>

<pre><code> public Node(T data, Node<T> next){
this.data = data;
this.next = next;
}

public T getData(){
return data;
}

public void setData(T data){
this.data = data;
}

public Node<T> getNext(){
return next;
}

public void setNext(Node<T> next){
this.next = next;
}
</code></pre>

<p>}</p>

<p>public void removeNode(Node node){
if(size == 0)
head = null;
else{
if(node == head){
head = node.next;
node.next.previous = null;
}
else{
node.next.previous = node.previous;
node.previous.next = node.next;
}
}
size--;
}</p>

<p>public Node findNode(int index){
Node myNode;
myNode = head;
while( index-- > 0)
myNode = myNode.next;
return myNode;
} </p>

<p>public List12() {
head = null;
size = 0;
}
</p>
这只是我的节点及其方法的代码,我已经实现了其他方法,但我不知道 equal 和 hashcode 方法。谢谢你的帮助。

最佳答案

阅读本文:这是 Joshua Bloch 的《Effective Java》的第三章。它会告诉你如何正确地做到这一点。

http://java.sun.com/developer/Books/effectivejava/Chapter3.pdf

关于java - 为链表创建 equals 和 hashcode 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5707738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com