public void print() { Node current = head; while (current != null) { System.out.println(current.data()); current = current.next; } }
public void addRear(String data) { if (head == null) { head = new Node(null, data, null); } else { Node current = head; while (current.next != null) { current = current.next; } Node newNode = new Node(current, data, null); current.next = newNode; } size++; }
public void addFront(String data) { if (head == null) { head = new Node(null, data, null); } else { Node newNode = new Node(null, data, head); head.previous = newNode; head = newNode; } size++; }
public void insert(String data, int index) { if (head == null) return; if (index < 1 || index > size) return; Node current = head; int i = 1; while (i < index) { current = current.next; i++; } if (current.previous == null) { Node newNode = new Node(null, data, current); current.previous = newNode; head = newNode; } else { Node newNode = new Node(current.previous, data, current); current.previous.next = newNode; current.previous = newNode; } size++; }