structure
Class AbstractStructure
java.lang.Object
|
+--structure.AbstractStructure
- All Implemented Interfaces:
- Structure
- Direct Known Subclasses:
- AbstractLinear, AbstractList, AbstractSet, BinarySearchTree, GraphList, GraphMatrix, OrderedList, OrderedVector, RedBlackSearchTree
- public abstract class AbstractStructure
- extends Object
- implements Structure
An abstract implementation of a basic, mutable data structure.
This abstract implementation of the Structure interface
provides a good starting point for the implementation of a basic,
mutable data structure. This implementation provides a workable
implementation of isEmpty, contains, and
values.
Where more efficient implementations are possible, the user may wish
to override these methods. For example, an implementor may have
a structure directly implement the java.util.Collection
interface and have the value method simply return
this. Because of peculiarities of both systems of
designing data structures, it is often best to avoid direct implementation
java.util.Collection and Structure in one class.
- Since:
- Java Structures, 2nd edition
|
Method Summary |
boolean |
contains(Object value)
Determines if the structure contains a value. |
Enumeration |
elements()
Return an enumeration associated with this structure. |
int |
hashCode()
|
boolean |
isEmpty()
Determine if there are elements within the structure. |
Collection |
values()
Returns a java.util.Collection wrapping this structure. |
| Methods inherited from class java.lang.Object |
, clone, equals, finalize, getClass, notify, notifyAll, registerNatives, toString, wait, wait, wait |
AbstractStructure
public AbstractStructure()
- The default constructor. Initializes any internal variables.
isEmpty
public boolean isEmpty()
- Determine if there are elements within the structure.
- Specified by:
isEmpty in interface Structure
- Postcondition:
- return true iff the structure is empty
- Returns:
- true if the structure is empty; false otherwise
elements
public Enumeration elements()
- Return an enumeration associated with this structure.
This implementation returns an AbstractIterator which supports
both enumeration at iterator techniques.
- Specified by:
elements in interface Structure
- Precondition:
- this implementation assumes the structure returns an
AbstractIterator, which may then be used for generating the
Enumeration.
- Postcondition:
- return an enumeration for traversing the struture;
all
structure package implementations return
an AbstractIterator - Returns:
- a Enumeration for traversing the structure
- See Also:
AbstractIterator,
Iterator,
Enumeration
contains
public boolean contains(Object value)
- Determines if the structure contains a value.
- Specified by:
contains in interface Structure
- Parameters:
value - non-null value to be found within structure- Precondition:
- value is non-null
- Postcondition:
- returns true iff value.equals some value in structure
- Returns:
- true when some value equals value
hashCode
public int hashCode()
- Overrides:
hashCode in class Object
- Postcondition:
- generate a hashcode for the structure: sum of
all the hash codes of elements
values
public Collection values()
- Returns a java.util.Collection wrapping this structure.
This particular implementation returns a
StructCollection
whose methods may not provide the most efficent implementations
of non-Structure Collection methods.
- Specified by:
values in interface Structure
- Postcondition:
- returns a
Collection that may be used with
Java's Collection Framework - Returns:
- a Collection that is equivalent to this structure
- See Also:
StructCollection,
Collection