<< Chapter < Page Chapter >> Page >

Question 4

True or False? The contracts of the methods in the List interface are the same as the contracts of the methods inherited from the Collection interface.

The answer to question 4 is False. According to Oracle, "The List interface places additional stipulations, beyond those specified in the Collection interface, on the contracts of the iterator , add , remove , equals , and hashCode methods."

For example, the iterator method (for both the List and Collection interfaces) returns an iterator over the elements in the collection. For the Collection interface, there are no guarantees concerning the order in which the elements are returned by the methods of the Iterator object.

On the other hand, the iterator method for the List interface returns an iterator over the elements in the collection in proper sequence,where the sequence is determined by the numeric index. In other words, when you call the methods of the Iterator object on a List , the elements will be returned in the proper sequence as determined by a numericindex.

Similarly, according to Oracle, the SortedSet interface "guarantees that its iterator will traverse the set in ascending element order, sortedaccording to the natural ordering of its elements (see Comparable ), or by a Comparator provided at sorted set creation time."

Summary

In this module you learned that all of the implementations of the interfaces in the Collection hierarchy implement one of the sub-interfaces of the Collection interface. You learned that a Set object cannot contain duplicate elements, but a List object can contain duplicate elements.

You learned about the difference between ordered collections and sorted collections. You also learned about ascending order and the natural ordering of objects. In addition, you learned how more specialized stipulations are placed on interfaces as you progress down theinterface inheritance hierarchy of the Java Collections Framework.

What's next?

The SortedSet interface "guarantees that its iterator will traverse the set in ascending element order, sorted according to the natural ordering ofits elements (see Comparable ), or by a Comparator provided at sorted set creation time." In the next module, I will show you how to use the Comparator interface to control the sorted order of your collections.

Miscellaneous

This section contains a variety of miscellaneous information.

Housekeeping material
  • Module name: Java4060: Duplicate Elements, Ordered Collections, Sorted Collections, and InterfaceSpecialization
  • File: Java4060.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