<< Chapter < Page | Chapter >> Page > |
According to The Java Tutorial from Oracle, a collection (sometimes called a container) is also an object that groups multiple elements into a single unit.
Typical collection objects might contain information about employees in the company telephone book, all the purchase orders issued during the past year, orthe transactions occurring in a person's checking account.
Note that this terminology may be somewhat different from what you are accustomed to. For example, if you speak of your coin collection, you are probably speaking about the actual coins rather than the container that holdsthe coins.
This is an important distinction. The usage of the term collection in the Collections Framework usually refers to the container and not to the contents of the container. In the framework, the contents are usually referred to as the elements .
The collections in the framework always store references to objects, rather than storing the objects themselves. One consequence of this is that primitivevalues cannot be stored in a collection without first encapsulating them in an object. (Standard wrapper classes are provided for encapsulating all primitive types.)
Furthermore, the references are always stored as type Object . Prior to Java version 1.5, when you retrieved an element from a collection, you frequently needed to downcastit before you could gain access to the members of the object to which the reference refers. Version 1.5 introduced Generics into the Java programming environment, which eliminated that requirement, (provided that you use the more complex syntax required by Generics) .
In addition to their use for storing, retrieving, and manipulating data, collections are also used to move data among methods.
One of the primary advantages of the Collections Framework is the ability to pass a collection to a method as the generic interface type Collection . The receiving method doesn't need to know the actual type of the object referredto by the incoming reference in order to call its methods.
The receiving method can call (on the reference to the Collection object) any of the methods declared in the Collection interface, with confidence that the behavior of the method will be appropriate for the actual type of Collection object involved. (That is polymorphic behavior.)
If you have been working with the framework, you might be inclined to think that all of the interfaces in the following list are members of the core collection interfaces.
However, that is not the case.
While the Iterator interface is heavily used in conjunction with collections, according to The Java Tutorial from Oracle, it is not one of the core collection interfaces.
The core collection interfaces identified by the Oracle book are shown below, with indentation showing the parent-child relationships among theinterfaces.
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?