structure5
Interface Structure<E>

All Superinterfaces:
java.lang.Iterable<E>
All Known Subinterfaces:
Graph<V,E>, Linear<E>, List<E>, OrderedStructure<K>, Queue<E>, Set<E>, Stack<E>
All Known Implementing Classes:
AbstractLinear, AbstractList, AbstractQueue, AbstractSet, AbstractStack, AbstractStructure, BinarySearchTree, CircularList, DoublyLinkedList, GraphList, GraphListDirected, GraphListUndirected, GraphMatrix, GraphMatrixDirected, GraphMatrixUndirected, OrderedList, OrderedVector, QueueArray, QueueList, QueueVector, RedBlackSearchTree, SetList, SetVector, SinglyLinkedList, SplayTree, StackArray, StackList, StackVector, Vector

public interface Structure<E>
extends java.lang.Iterable<E>

The interface of a basic, mutable data structure.

This interface is the basis for most mutable structures in the structure package. While most methods are easy implement, it is often sufficient to simply extend a basic, abstract implementation of this class, the AbstractStructure. The AbstractStructure implements the isEmpty, contains and collection methods. They may be overridden if a particularly efficient technique is to be preferred.

Since:
Java Structures, 2nd edition

Method Summary
 void add(E value)
          Inserts value in some structure-specific location.
 void clear()
          Removes all elements from the structure.
 boolean contains(E value)
          Determines if the structure contains a value.
 java.util.Enumeration elements()
          Returns an enumeration for traversing the structure.
 boolean isEmpty()
          Determine if there are elements within the structure.
 java.util.Iterator<E> iterator()
          Returns an iterator for traversing the structure.
 E remove(E value)
          Removes value from the structure.
 int size()
          Determine the size of the structure.
 java.util.Collection<E> values()
          Returns a java.util.Collection wrapping this structure.
 

Method Detail

size

int size()
Determine the size of the structure.

Returns:
the size of the structure
Postcondition:
computes number of elements contained in structure

isEmpty

boolean isEmpty()
Determine if there are elements within the structure.

Returns:
true if the structure is empty; false otherwise
Postcondition:
return true iff the structure is empty

clear

void clear()
Removes all elements from the structure.

Postcondition:
the structure is empty

contains

boolean contains(E value)
Determines if the structure contains a value.

Parameters:
value - non-null value to be found within structure
Returns:
true when some value equals value
Precondition:
value is non-null
Postcondition:
returns true iff value.equals some value in structure

add

void add(E value)
Inserts value in some structure-specific location.

Parameters:
value - the value to be added to the structure; non-null
Precondition:
value is non-null
Postcondition:
value has been added to the structure replacement policy is not specified

remove

E remove(E value)
Removes value from the structure.

Parameters:
value - value matching the value to be removed
Returns:
returns the object that was removed, or null if none.
Precondition:
value is non-null
Postcondition:
an object equal to value is removed and returned, if found

elements

java.util.Enumeration elements()
Returns an enumeration for traversing the structure.

Returns:
an enumeration for traversing the structure
See Also:
AbstractIterator, Iterator, Enumeration, iterator()
Postcondition:
returns an enumeration for traversing structure; all structure package implementations return an AbstractIterator

iterator

java.util.Iterator<E> iterator()
Returns an iterator for traversing the structure.

Specified by:
iterator in interface java.lang.Iterable<E>
Returns:
an iterator for traversing the structure
See Also:
AbstractIterator, Iterator, Enumeration, elements()
Postcondition:
returns an iterator for traversing structure; all structure package implementations return an AbstractIterator

values

java.util.Collection<E> values()
Returns a java.util.Collection wrapping this structure.

Returns:
a Collection that is equivalent to this structure
Postcondition:
returns a Collection that may be used with Java's Collection Framework