structure
Interface Structure

All Known Subinterfaces:
Graph, Linear, List, OrderedStructure, Queue, Set, Stack
All Known Implementing Classes:
AbstractLinear, AbstractList, AbstractQueue, AbstractSet, AbstractStack, AbstractStructure, BinarySearchTree, CircularList, DoublyLinkedList, GraphList, GraphListDirected, GraphListUndirected, GraphMatrix, GraphMatrixDirected, GraphMatrixUndirected, OrderedList, OrderedVector, QueueArray, QueueList, QueueVector, SetList, SetVector, SinglyLinkedList, SplayTree, StackArray, StackList, StackVector, Vector

public interface Structure

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(java.lang.Object value)
          Inserts value in some structure-specific location.
 void clear()
          Removes all elements from the structure.
 boolean contains(java.lang.Object 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 iterator()
          Returns an iterator for traversing the structure.
 java.lang.Object remove(java.lang.Object value)
          Removes a value from the structure.
 int size()
          Determine the size of the structure.
 java.util.Collection 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(java.lang.Object 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(java.lang.Object 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

java.lang.Object remove(java.lang.Object value)
Removes a 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 iterator()
Returns an iterator for traversing the structure.

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 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