예제 #1
0
 public boolean contains(Object value) {
   SinglyLinkedListElement finger = head;
   while (finger.next() != null && !finger.value().equals(value)) {
     finger = finger.next();
   }
   return finger != null;
 }
예제 #2
0
 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++;
 }
예제 #3
0
 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
 }
예제 #4
0
 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();
 }
예제 #5
0
 public Object peek() {
   return head.value();
 }
예제 #6
0
 public Object removeFromHead() {
   SinglyLinkedListElement temp = head;
   head = head.next();
   count--;
   return temp;
 }