Java Collections Framework

From CSSEMediaWiki
(Difference between revisions)
Jump to: navigation, search
(New page: 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...)
 
Line 4: Line 4:
 
:3) Algorithms that allow you to manipulate the collections  
 
: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  [http://code.google.com/p/guava-libraries/  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 a design highly simplified. These also go hand-in-hand with some design patterns.
+
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  [http://code.google.com/p/guava-libraries/  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 ==
 +
[[Image:Collections_Core_Interfaces.gif]]
 +
 
 +
== The Choice of Collection ==
 +
 
 +
== Maxims and Tips ==
 +
 
 +
== Guava - The Google Collections Library ==

Revision as of 05:43, 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

The JCF Design

Collections Core Interfaces.gif

The Choice of Collection

Maxims and Tips

Guava - The Google Collections Library

Personal tools