public class ContactList {
    private ContactNode head;
    private ContactNode last;
    public ContactNode current;
    public ContactList value;
    public ContactList() {}
    public void addNode(ContactNode input) {
        if (this.head == null) {
            this.head = input;
            this.last = input;
        } else last.setNext(input);
        input.setPrev(last);
        this.last = input;
    }
    public void traverse() {
        System.out.println();
        current = this.head;
        while (current != null) {
            System.out.print(current.getName() + " ");
            System.out.println("");
            current = current.getNext();
        }
        System.out.println();
    }
    public void insertNewFirstNode(String value) {
        ContactNode newNode = new ContactNode(value);
        head = newNode;
        if (last == null) {
            last = head;
        }
    }
    public void sort() {
        ContactList sorted = new ContactList();
        current = head;
        while (current != null) {
            int index = 0;
            if ((current.getName() != null)) {
                index = this.current.getName().compareTo(current.getName());
                if (index == 1) {
                    sorted.insertNewFirstNode(current.getName());
                }
                current = current.getNext();
            } else if ((current != null)) {
                System.out.print(sorted + "\n");
            }
        }
    } // end contactList
Main Method:
import java.util.Scanner;
import java.io.FileReader;
import java.io.FileNotFoundException;
public class ContactMain {
    public static void main(String[] args) {
        try {
            FileReader filepath = new FileReader("data1.txt");
            Scanner k = new Scanner(filepath);
            ContactList myList = new ContactList();
            while (k.hasNextLine()) {
                String i = k.nextLine();
                myList.addNode(new ContactNode(i));
            }
            myList.traverse();
            myList.sort();
            myList.traverse();
        } catch (FileNotFoundException e) {
            System.out.println("File Not Found. ");
        }
    }
}
Node Class:
public class ContactNode {
    private String name;
    public int index;
    private ContactNode prev;
    public ContactNode next;
    ContactNode(String a) {
        name = a;
        index = 0;
        next = null;
        prev = null;
    }
    public ContactNode getNext() {
        return next;
    }
    public ContactNode getPrev() {
        return prev;
    }
    public String getName() {
        return name;
    }
    public int getIndex() {
        return index;
    }
    public void setNext(ContactNode newnext) {
        next = newnext;
    }
    public void setPrev(ContactNode newprevious) {
        prev = newprevious;
    }
    public void setName(String a) {
        name = a;
    }
    public void setIndex(int b) {
        index = b;
    }
}
I am making a program for fun that reads in contact information from a text file and puts them into a Linked List. I want to create a sort() method to sort each node or name alphabetically. I've done a good amount of research and my method only prints code like: ContactList@282c0dbe, by as many lines as my text file.
 
     
     
    