structure5
Interface List<E>

All Superinterfaces:
Iterable<E>, Structure<E>
All Known Implementing Classes:
AbstractList, CircularList, DoublyLinkedList, SinglyLinkedList, Vector

public interface List<E>
extends Structure<E>

Interface describing lists. Lists are collections of data with a head and tail. Values may be added or removed from either end, as well as by value from the middle. The structure package provides several implementations of the List interface, each of which has its particular strengths and weaknesses.

Example usage:

To place a copy of every unique parameter passed to a program into a List, we could use the following:

 public static void main(String[] arguments)
 {
     List argList = new SinglyLinkedList();
     for (int i = 0; i < arguments.length; i++){
           if (!argList.contains(arguments[i])){
               argList.add(arguments[i]);
         }
    }
    System.out.println(argList);
 }
 

See Also:
SinglyLinkedList, DoublyLinkedList, CircularList

Method Summary
 void add(E value)
          Add an object to tail of list.
 void add(int i, E o)
          Insert value at location.
 void addFirst(E value)
          Add a value to the head of the list.
 void addLast(E value)
          Add a value to tail of list.
 void clear()
          Remove all elements of list.
 boolean contains(E value)
          Check to see if a value is in list.
 E get()
          Retrieves value from tail of list.
 E get(int i)
          Get value at location i.
 E getFirst()
          Fetch first element of list.
 E getLast()
          Fetch last element of list.
 int indexOf(E value)
          Determine first location of a value in list.
 boolean isEmpty()
          Determine if list is empty.
 Iterator<E> iterator()
          Construct an iterator to traverse elements of list from head to tail, in order.
 int lastIndexOf(E value)
          Determine last location of a value in list.
 E remove()
          Removes value from tail of list.
 E remove(E value)
          Remove a value from list.
 E remove(int i)
          Remove and return value at location i.
 E removeFirst()
          Remove a value from first element of list.
 E removeLast()
          Remove last value from list.
 E set(int i, E o)
          Set value stored at location i to object o, returning old value.
 int size()
          Determine size of list.
 
Methods inherited from interface structure5.Structure
elements, values
 

Method Detail

size

int size()
Determine size of list.

Specified by:
size in interface Structure<E>
Returns:
The number of elements in list.

isEmpty

boolean isEmpty()
Determine if list is empty.

Specified by:
isEmpty in interface Structure<E>
Returns:
True if list has no elements.

clear

void clear()
Remove all elements of list.

Specified by:
clear in interface Structure<E>

addFirst

void addFirst(E value)
Add a value to the head of the list.

Parameters:
value - The value to be added to the head of the list.

addLast

void addLast(E value)
Add a value to tail of list.

Parameters:
value - The value to be added to tail of list.

getFirst

E getFirst()
Fetch first element of list.

Returns:
A reference to first element of list.

getLast

E getLast()
Fetch last element of list.

Returns:
A reference to last element of list.

removeFirst

E removeFirst()
Remove a value from first element of list.

Returns:
The value actually removed.

removeLast

E removeLast()
Remove last value from list.

Returns:
The value actually removed.

remove

E remove(E value)
Remove a value from list. At most one of value will be removed.

Specified by:
remove in interface Structure<E>
Parameters:
value - The value to be removed.
Returns:
The actual value removed.

add

void add(E value)
Add an object to tail of list.

Specified by:
add in interface Structure<E>
Parameters:
value - The value to be added to tail of list.
See Also:
addLast(E)

remove

E remove()
Removes value from tail of list.

Returns:
object removed.

get

E get()
Retrieves value from tail of list.

Returns:
object found at end of list

contains

boolean contains(E value)
Check to see if a value is in list.

Specified by:
contains in interface Structure<E>
Parameters:
value - value sought.
Returns:
True if value is within list.

indexOf

int indexOf(E value)
Determine first location of a value in list.

Parameters:
value - The value sought.
Returns:
index (0 is first element) of value, or -1

lastIndexOf

int lastIndexOf(E value)
Determine last location of a value in list.

Parameters:
value - value sought.
Returns:
index (0 is first element) of value, or -1

get

E get(int i)
Get value at location i.

Parameters:
i - position of value to be retrieved.
Returns:
value retrieved from location i (returns null if i invalid)

set

E set(int i,
      E o)
Set value stored at location i to object o, returning old value.

Parameters:
i - location of entry to be changed.
o - new value
Returns:
former value of ith entry of list.

add

void add(int i,
         E o)
Insert value at location.

Parameters:
i - index of this new value
o - value to be stored

remove

E remove(int i)
Remove and return value at location i.

Parameters:
i - position of value to be retrieved.
Returns:
value retrieved from location i (returns null if i invalid)

iterator

Iterator<E> iterator()
Construct an iterator to traverse elements of list from head to tail, in order.

Specified by:
iterator in interface Iterable<E>
Specified by:
iterator in interface Structure<E>
Returns:
Iterator that traverses list.
See Also:
AbstractIterator, Iterator, Enumeration, Structure.elements()