Java Collections Framework
Tanmay Bhola (Talk | contribs) |
Tanmay Bhola (Talk | contribs) (→The JCF Design) |
||
Line 9: | Line 9: | ||
== The JCF Design == | == The JCF Design == | ||
[[Image:Collections_Core_Interfaces.gif]] | [[Image:Collections_Core_Interfaces.gif]] | ||
+ | <br> | ||
+ | |||
+ | [[Image:Collections-detail-1.png]] | ||
== The Choice of Collection == | == The Choice of Collection == |
Revision as of 05:46, 21 August 2010
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.
Contents |