Java Collections Framework

From CSSEMediaWiki
Revision as of 09:17, 21 August 2010 by Tanmay Bhola (Talk | contribs)
Jump to: navigation, search

Contents

Overview

This section presents a higher level take on the Java Collections Framework (JCF) originally designed by Joshua Bloch while working at Sun Microsystems in 1997. According to Joshua, the JCF was designed using three main idea:

1) Interfaces that define Collections
2) Implementations that provide either concrete or abstract implementations
3) Algorithms that allow you to manipulate the collections

The main motivation behind the framework was that it was extensible, allowing people to build on it and add to it. This has lead to a number of highly specialised implementations of the framework by different people. For example, the open-source Google Guava Libraries provide implementations of some immutable, unmodifiable and synchronised collection classes. Collections can play an important role not only in program efficiency but also in good OO Design. Using the wrong collections can lead to a maintenance nightmare. Hence, this article aims to equip the readers with the essentials of using collections with emphasis on software design (concepts like Inheritance, good practices, concepts, hidden design patterns) as compared to a simple tutorial on the subject. Using the correct collection for a task can make the design highly simplified.


The JCF Design

Collections Core Interfaces.gif

Collections-detail-1.png

The Choice of Collection

Maxims and Tips

Guava - The Google Collections Library

Personal tools