This is my first question here. I am trying to manually sort a linked list of integers in java and I can not figure out what is wrong with my code. Any suggestions? I don't get any error, however I still have my output unordered. I tried a few different ways, but nothing worked. I appreciate if anyone can help me with that.
public class Node {
    int data; 
    Node nextNode;
    public Node(int data) {
        this.data = data;
        this.nextNode = null;       
    }
    public int getData() {
        return this.data;
    }
} // Node class
public class DataLinkedList implements DataInterface {  
    private  Node head;
    private int size; 
    public DataLinkedList(){
        this.head = null;
        this.size = 0;
    }
    public void add(int data) {
        Node node = new Node(data);
        if (head == null) {
            head = node;
        } else {
            Node currentNode = head;
            while(currentNode.nextNode != null) {
                currentNode = currentNode.nextNode;
            }
            currentNode.nextNode = node;
        }
        size++;     
    }
    public void sort() {
        if (size > 1) {
            for (int i = 0; i < size; i++ ) {
                Node currentNode = head;
                Node next = head.nextNode;
                for (int j = 0; j < size - 1; j++) {
                    if (currentNode.data > next.data) {
                        Node temp = currentNode;
                        currentNode = next;
                        next = temp;
                    } 
                    currentNode = next;
                    next = next.nextNode;                   
                } 
            }
        }
    }
    public int listSize() {     
        return size;
    }
    public void printData() {
        Node currentNode = head;
        while(currentNode != null) {
            int data = currentNode.getData();
            System.out.println(data);
            currentNode = currentNode.nextNode;
        }
    }
    public boolean isEmpty() {
        return size == 0;
    }
} // DataInterface class
public class DataApp {
    public static void main (String[]args) {
        DataLinkedList dll = new DataLinkedList();
        dll.add(8);
        dll.add(7);
        dll.add(6);
        dll.add(4);
        dll.add(3);
        dll.add(1);
        dll.sort();
        dll.printData();
        System.out.println(dll.listSize());
    }
} // DataApp class
 
     
    
 
     
    