public class DoubleLinkedSeq
extends java.lang.Object
implements java.lang.Cloneable
DoubleLinkedSeq is a collection of double numbers.
 The sequence can have a special "current element," which is specified and 
 accessed through four methods that are not available in the sequence class 
 (start, getCurrent, advance and isCurrent).
 Limitations:
   Beyond Int.MAX_VALUE elements, the size method
   does not work.
 Note:
   This file contains only blank implementations ("stubs")
   because this is a Programming Project for my students.| Constructor and Description | 
|---|
| DoubleLinkedSeq()Initialize an empty sequence. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addAfter(int element)Add a new element to this sequence, after the current element. | 
| void | addAll(DoubleLinkedSeq addend)Place the contents of another sequence at the end of this sequence. | 
| void | addBefore(int element)Add a new element to this sequence, before the current element. | 
| void | advance()Move forward, so that the current element is now the next element in
 this sequence. | 
| static DoubleLinkedSeq | catenation(DoubleLinkedSeq s1,
          DoubleLinkedSeq s2)Create a new sequence that contains all the elements from one sequence
 followed by another. | 
| java.lang.Object | clone()Generate a copy of this sequence. | 
| double | getCurrent()Accessor method to get the current element of this sequence. | 
| double | isCurrent()Accessor method to determine whether this sequence has a specified 
 current element that can be retrieved with the 
  getCurrentmethod. | 
| void | removeCurrent()Remove the current element from this sequence. | 
| int | size()Determine the number of elements in this sequence. | 
| void | start()Set the current element at the front of this sequence. | 
public DoubleLinkedSeq()
public void addAfter(int element)
element - the new element that is being added
 Postcondition:
   A new copy of the element has been added to this sequence. If there was
   a current element, then the new element is placed after the current
   element. If there was no current element, then the new element is placed
   at the end of the sequence. In all cases, the new element becomes the
   new current element of this sequence.java.lang.OutOfMemoryError - Indicates insufficient memory for a new node.public void addBefore(int element)
element - the new element that is being added
 Postcondition:
   A new copy of the element has been added to this sequence. If there was
   a current element, then the new element is placed before the current
   element. If there was no current element, then the new element is placed
   at the start of the sequence. In all cases, the new element becomes the
   new current element of this sequence.java.lang.OutOfMemoryError - Indicates insufficient memory for a new node.public void addAll(DoubleLinkedSeq addend)
addend - a sequence whose contents will be placed at the end of this sequence
 Precondition:
   The parameter, addend, is not null. 
 Postcondition:
   The elements from addend have been placed at the end of 
   this sequence. The current element of this sequence remains where it 
   was, and the addend is also unchanged.java.lang.NullPointerException - Indicates that addend is null.java.lang.OutOfMemoryError - Indicates insufficient memory to increase the size of this sequence.public void advance()
isCurrent() returns true. 
 Postcondition:
   If the current element was already the end element of this sequence 
   (with nothing after it), then there is no longer any current element. 
   Otherwise, the new element is the element immediately after the 
   original current element.java.lang.IllegalStateException - Indicates that there is no current element, so 
   advance may not be called.public java.lang.Object clone()
clone in class java.lang.ObjectDoubleLinkedSeq before it can be used.java.lang.OutOfMemoryError - Indicates insufficient memory for creating the clone.public static DoubleLinkedSeq catenation(DoubleLinkedSeq s1, DoubleLinkedSeq s2)
s1 - the first of two sequencess2 - the second of two sequences
 Precondition:
   Neither s1 nor s2 is null.s1 followed by the
   elements of s2 (with no current element)java.lang.NullPointerException - Indicates that one of the arguments is null.java.lang.OutOfMemoryError - Indicates insufficient memory for the new sequence.public double getCurrent()
isCurrent() returns true.java.lang.IllegalStateException - Indicates that there is no current element, so 
   getCurrent may not be called.public double isCurrent()
getCurrent method.public void removeCurrent()
isCurrent() returns true.
 Postcondition:
   The current element has been removed from this sequence, and the 
   following element (if there is one) is now the new current element. 
   If there was no following element, then there is now no current 
   element.java.lang.IllegalStateException - Indicates that there is no current element, so 
   removeCurrent may not be called.public int size()
public void start()