<< Chapter < Page Chapter >> Page >
  • Collection
    • Set
      • SortedSet
    • List
    • Queue
    • Deque
  • Map
    • SortedMap

As you can see, as mentioned earlier, Collection and Map are the two top-level interfaces.

You should probably commit the above list of interfaces and their relationships to memory. You might find that helpful when navigating the Oracledocumentation.

Concrete implementations

In addition to interfaces, the framework provides several concrete implementations of the interfaces defined in the framework. (A concrete implementation is a class that implements one or more of the interfaces.)

Are you still awake? If so, see if you can answer the following question.

True or False? Each of the following classes provides an implementation of one of the interfaces that make up the Java Collections Framework. If False,which items don't belong in the list.

  • AbstractSet
  • AbstractList
  • AbstractMap
  • HashSet
  • TreeSet
  • LinkedList
  • Vector
  • ArrayList
  • HashMap
  • Hashtable
  • WeakHashMap
  • TreeMap
  • Iterator
  • Attributes
  • RenderingHints

Hopefully your answer was False, but even so, that isn't the complete answer.

Iterator is not a class

To begin with, Iterator is not a class. I told you that a couple of paragraphs back. It is an interface. Therefore, it has no place in theabove list of classes.

What about Attributes and RenderingHints?

You may also have wondered if the classes named Attributes and RenderingHints belong on the list. Note that I didn't restrict the above list to only those classes that might be considered part of the framework, sothis was sort of a trick question. (Of course you could have looked them up in the Oracle documentation just like I did.)

While these two classes are not really a part of the core Java Collections Framework, they do implement interfaces that are part of the framework.

The RenderingHints class implements the Map interface, and is used in conjunction with the Graphics2D class. The Attributes class also implements the Map interface,

What is a Collections Framework?

According to The Java Tutorial from Oracle, "A collections framework is a unified architecture for representing and manipulating collections. Allcollections frameworks contain three things."

Those three things are:

  • Interfaces
  • Implementations
  • Algorithms

This is probably a good place to close off the discussion for this module. The next module will pick up at this point and provide a more in-depth discussion ofthe interfaces, implementations, and algorithms that make up the framework.

Summary

I started out by telling you that a collection is not only the name of a Java interface (Collection) but is also an object that groups multiple elements into a single unit.

Java Collection objects don't store objects or primitive values directly. Rather, they store references to objects. Further, all such referencesare stored as the type Object . However, the use of the Generics syntax can eliminate the need todowncast the reference in order to gain access to the members of the object to which it refers. (Generics also provide other useful properties as well.)

If you need to store primitive values in a collection, you will first need to wrap those values in appropriate objects. Standard wrapper classes are providedfor all the primitive types.

Collections are not only useful for storing and retrieving data, they are also useful for moving data among methods.

Because a collection can be passed to a method as type Collection , all of the methods declared in the Collection interface can be called on the incoming reference in a polymorphic manner.

In addition to the interfaces defined in the Collections Framework, the framework also provides various concrete implementations of the interfaces formany of the commonly-used data structures. This makes it possible for you to conveniently use the framework without the requirement to define new Collection classes.

There are eight core interfaces in the Collections Framework. Although the Iterator interface is often used with collections, it is not one of the core interfaces.

I ended the module by telling you that there are basically three things in a collections framework: interfaces , implementations , and algorithms . I will have more to say about this in a future module.

Miscellaneous

This section contains a variety of miscellaneous information.

Housekeeping material
  • Module name: Java4020: What is a Collection
  • File: Java4020.htm
  • Published: 04/18/13
Disclaimers:

Financial : Although the Connexions site makes it possible for you to download a PDF file for thismodule at no charge, and also makes it possible for you to purchase a pre-printed version of the PDF file, you should beaware that some of the HTML elements in this module may not translate well into PDF.

I also want you to know that, I receive no financial compensation from the Connexions website even if you purchase the PDF version of the module.

In the past, unknown individuals have copied my modules from cnx.org, converted them to Kindle books, and placed them for sale on Amazon.com showing me as the author. Ineither receive compensation for those sales nor do I know who does receive compensation. If you purchase such a book, please beaware that it is a copy of a module that is freely available on cnx.org and that it was made and published withoutmy prior knowledge.

Affiliation : I am a professor of Computer Information Technology at Austin Community College in Austin, TX.

-end-

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