//TestNodeGeneric.java

public class TestNodeGeneric
{
    public static void main(String[] args)
    {
        //Create/modify/display a linked sequence of nodes containing integers
        NodeGeneric<Integer> firstIntNode;
        firstIntNode = new NodeGeneric<Integer>(1);
        firstIntNode = new NodeGeneric<Integer>(3, firstIntNode);
        firstIntNode = new NodeGeneric<Integer>(5, firstIntNode);
        firstIntNode.setNext(firstIntNode.getNext().getNext());
        NodeGeneric<Integer> headIntNode
            = new NodeGeneric<Integer>(7, firstIntNode);
        headIntNode.getNext().setData(9);
        firstIntNode = null;

        NodeGeneric<Integer> currentIntNode = headIntNode;
        while (currentIntNode != null)
        {
            System.out.println(currentIntNode.getData());
            currentIntNode = currentIntNode.getNext();
        }

        //Create/modify/display a linked sequence of nodes containing strings
        NodeGeneric<String> firstStringNode;
        firstStringNode = new NodeGeneric<String>("one");
        firstStringNode = new NodeGeneric<String>("three", firstStringNode);
        firstStringNode = new NodeGeneric<String>("five", firstStringNode);
        firstStringNode.setNext(firstStringNode.getNext().getNext());
        NodeGeneric<String> headStringNode
            = new NodeGeneric<String>("seven", firstStringNode);
        headStringNode.getNext().setData("nine");
        firstStringNode = null;

        NodeGeneric<String> currentStringNode = headStringNode;
        while (currentStringNode != null)
        {
            System.out.println(currentStringNode.getData());
            currentStringNode = currentStringNode.getNext();
        }
    }
}
/*  Output:
    7
    9
    1
    seven
    nine
    one
*/
