public void addToTail(Object value) { SinglyLinkedListElement temp = new SinglyLinkedListElement(value, null); if (head != null) { SinglyLinkedListElement finger = head; while (finger.next() != null) { finger = finger.next(); } finger.setNext(temp); } else head = temp; count++; }
public Object removeFromTail() { SinglyLinkedListElement finger = head; SinglyLinkedListElement previous = null; // Assert.pre(head!=null,"List is not empty!"); while (finger.next() != null) { previous = finger; finger = finger.next(); } if (previous == null) { // The List only has one element head = null; } else { previous.setNext(null); } count--; return finger.next(); }
public Object remove(Object value) { SinglyLinkedListElement finger = head; SinglyLinkedListElement previous = null; while (finger != null && !finger.value().equals(value)) { previous = finger; finger = finger.next(); } if (finger != null) { if (previous == null) { head = finger.next(); } else { previous.setNext(finger.next()); } count--; return finger.value(); } return null; // didnot find the matching value in list }