|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object
|
+--structure.AbstractStructure
|
+--structure.AbstractList
|
+--structure.CircularList
An implementation of lists using circularly linked elements,
similar to that of java.util.LinkedList.
This class is an implementation of the List interface.
Operations accessing or modifying either the head or the tail of
the list execute in constant time.
Circular lists are as space-efficient as singly linked lists,
but tail-related operations are less costly.
Example usage: To place a copy of every unique parameter passed to a program into a CircularList, we would use the following:
public static void main(String[]arguments) {CircularListargList = newCircularList(); for (int i = 0; i < arguments.length; i++){ if (!argList.contains(arguments[i])){ argList.add(arguments[i]); } } System.out.println(argList); }
SinglyLinkedList,
DoublyLinkedList| Field Summary | |
protected int |
count
Number of elements within circular list. |
protected SinglyLinkedListElement |
tail
A reference to tail of list. |
| Constructor Summary | |
CircularList()
Construct an empty circular list. |
|
| Method Summary | |
void |
add(int i,
java.lang.Object o)
Insert value at location. |
void |
add(java.lang.Object value)
Add an element to head of circular list. |
void |
addFirst(java.lang.Object value)
Add an element to head of list. |
void |
addLast(java.lang.Object value)
Add a value to tail of circular list. |
void |
clear()
Remove elements of list. |
boolean |
contains(java.lang.Object value)
Check if a list contains an element. |
java.lang.Object |
get(int i)
Get value at location i. |
java.lang.Object |
getFirst()
Determine if a list is empty. |
java.lang.Object |
getLast()
Peek at last element of list. |
protected SinglyLinkedListElement |
getTail()
Accessor method for tail field |
int |
indexOf(java.lang.Object value)
Determine first location of a value in list. |
boolean |
isEmpty()
Determine if a list is empty. |
java.util.Iterator |
iterator()
Construct an iterator over elements of list. |
int |
lastIndexOf(java.lang.Object value)
Determine last location of a value in list. |
java.lang.Object |
remove(int i)
Remove and return value at location i. |
java.lang.Object |
remove(java.lang.Object value)
Remove a value from a list. |
java.lang.Object |
removeFirst()
Remove a value from head of list. |
java.lang.Object |
removeLast()
Remove a value from tail of list. |
java.lang.Object |
set(int i,
java.lang.Object o)
Set value stored at location i to object o, returning old value. |
int |
size()
Determine size of list. |
java.lang.String |
toString()
Generate a string representation of list. |
| Methods inherited from class structure.AbstractList |
get, remove |
| Methods inherited from class structure.AbstractStructure |
elements, hashCode, values |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface structure.Structure |
elements, values |
| Field Detail |
protected SinglyLinkedListElement tail
protected int count
| Constructor Detail |
public CircularList()
| Method Detail |
public void add(java.lang.Object value)
add in interface Listadd in class AbstractListvalue - value to be added to list.AbstractList.addLast(java.lang.Object)public void addFirst(java.lang.Object value)
addFirst in interface ListaddFirst in class AbstractListvalue - value added to head of list.public void addLast(java.lang.Object value)
addLast in interface ListaddLast in class AbstractListvalue - value to be added.public java.lang.Object getFirst()
getFirst in interface ListgetFirst in class AbstractListpublic java.lang.Object getLast()
getLast in interface ListgetLast in class AbstractListpublic java.lang.Object removeFirst()
removeFirst in interface ListremoveFirst in class AbstractListpublic java.lang.Object removeLast()
removeLast in interface ListremoveLast in class AbstractListpublic boolean contains(java.lang.Object value)
contains in interface Listcontains in class AbstractListvalue - value sought.
public java.lang.Object remove(java.lang.Object value)
value - value sought.
public int size()
public java.lang.Object get(int i)
i - position of value to be retrieved.
protected SinglyLinkedListElement getTail()
public java.lang.Object set(int i,
java.lang.Object o)
i - location of entry to be changed.o - new value
public void add(int i,
java.lang.Object o)
i - index of this new valueo - value to be storedpublic java.lang.Object remove(int i)
i - position of value to be retrieved.
public int indexOf(java.lang.Object value)
value - value sought.
public int lastIndexOf(java.lang.Object value)
value - value sought.
public java.util.Iterator iterator()
public boolean isEmpty()
isEmpty in interface ListisEmpty in class AbstractListpublic void clear()
public java.lang.String toString()
toString in class java.lang.Object
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||