<< Chapter < Page | Chapter >> Page > |
We learned in an earlier module that the framework provides at least nine concrete implementations of the interfaces in the framework. Thesenine implementation classes are available for immediate instantiation to produce objects to satisfy your collection needs.
We also learned that the framework provides at least three incomplete implementations. These classes are available for you to use as a starting point in defining yourown implementations. Default implementations of many of the interface methods are provided in the incomplete implementations.
The implementations in the Java Collections Framework are the concrete definitions of the classes that implement the core collection interfaces . For example, concrete implementations in the Java CollectionsFramework are provided by at least the following nine classes.
These classes are available for immediate use to instantiate collection objects.
As you can see, there are two classes that obviously fall into the Set category, two that obviously fall into the List category, and three that obviously fall into the Map category. You can learn more about the detailed characteristics of those classes in the standard Java documentation andin The Java Tutorials .
This leaves two additional classes whose names don't readily divulge the category to which they belong.
The classes Vector and Hashtable were part of Java even before the Java Collections Framework became available. The Vector class can be used to instantiate objects that fall in the general List category.
The Hashtable class can be used to instantiate objects that fall in the Map category.
These two classes have been upgraded to make them compatible with the Collections Framework.
In addition to the concrete implementations listed above, the following three classes partially implement the interfaces, but are not intended forinstantiation. Rather, they are intended to be extended into new concrete classes that you define.
Therefore, by either using one of the three classes listed above as a starting point, or by starting from scratch and fully implementing one or moreof the interfaces, you can provide new concrete implementations to augment the framework to include collections that meet your special needs. If you do that,be sure to satisfy the contract requirements of the Collections Framework in addition to the technical requirements imposed by implementing interfaces.
Algorithms are methods (not necessarily exposed) that provide useful capabilities, such as searching and sorting. For example, the Collection interface declares an exposed method named contains .
The contract for the contains method requires that the method:
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?