The following Java implementation of a class Node is given:
private class Node<Object>
Node(Object d, Node n)
data = d; next = n;
Object data; Node next;
Assume that a singly linked list is implemented with a header node, but no tail node, and that it maintains only a reference to the header node.
Using the class Node described above, implement a MySingleLinkedList class in Java includes methods to:
(a) int size() – return the size of the linked list.
(b) void print() – print the linked list.
(c) boolean contains(Object x) – test if a value x is contained in the linked list.
(d) boolean add(Object x) – add a value x if it is not already contained in the linked list.
(e) boolean remove(Object x) – remove a value x if it is contained in the linked list.
In the implementation of the MySingleLinkedList class resolution it is not allowed to use the interface Iterator.