What does the below code do?
What does the below code do?
public class Node<T>
{
private T data;
private Node<T> node;
public Node(T data)
{
this.data = data;
}
public Node<T> getNode()
{
return node;
}
public void setNode(Node<T> node)
{
this.node = node;
}
public T getData()
{
return data;
}
public void setData(T data)
{
this.data = data;
}
@Override
public String toString()
{
return data+" ";
}
@Override
public int hCode()
{
final int pm = 31;
int res = 1;
res = pm * res + ((data == null) ? 0 : data.hCode());
res = pm * res + ((node == null) ? 0 : node.hCode());
return res;
}
@Override
public boolean equals(Object obj)
{
if(this == obj)
return true;
if(obj == null)
return false;
if(!(obj instanceof Node))
return false;
Node other = (Node) obj;
if(data == null)
{
if(other.data != null)
return false;
}
else if(!data .equals(other.data))
return false;
if(node == null)
{
if(other.node != null)
return false;
}
else if (!node.equals(other.node))
return false;
return true;
}
}

Step by step
Solved in 2 steps with 1 images









