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

Slightly different terminology

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 .

Store references rather than objects

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

Stored as type Object

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

Moving data among methods

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.

Polymorphic behavior

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

Core collection interfaces

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.

  • Collection
  • Set
  • List
  • Queue
  • Deque
  • SortedSet
  • Map
  • SortedMap
  • Iterator

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.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Object-oriented programming (oop) with java. OpenStax CNX. Jun 29, 2016 Download for free at https://legacy.cnx.org/content/col11441/1.201
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?

Ask