■ Top level collection tools are List, Set, and Map.
■ Collections have two big differences from arrays:
1 - Collections won’t hold primitives (they hold objects only)
2 - Most collections grow or shrink automatically for you
■ All collections reside in java.util. Don't forget you need an import statement whenever you use one.
■ Operations on collections never require mandatory try-catch blocks. However, most collection methods can throw exceptions, so you will probably want to use try-catch blocks anyway.
■ Older pre-1.2 Java classes such as Vector, Stack and Enumeration are still commonly used despite the fact that suggested "replacements" exist. Those classes are thus included here.
■ Some collections allow duplicate entries and some don't. Some allow null entries and some don’t, and so on.
Here's a handy reference table of the more common collections.
|
|
No. of |
Allows |
Allows |
Allows as entries |
Provides automatic ordering |
Ordering is pre- dictable |
To traverse it, use |
|
Lists: ArrayList |
1 |
Yes |
Yes |
No |
No |
Yes |
Iterator |
|
LinkedList |
1 |
Yes |
Yes |
No |
Yes |
Yes |
ListIterator |
|
Vector |
1 |
Yes |
Yes |
No |
No |
Yes |
Enumeration |
|
Stack |
1 |
Yes |
Yes |
No |
No |
Yes |
Enumeration |
|
Sets: HashSet |
1 |
No |
|
No |
No |
No |
|
|
TreeSet |
1 |
No |
|
No |
Yes |
Yes |
|
|
Maps: HashMap |
2 |
Not keys |
|
No |
No |
No |
|
|
TreeMap |
2 |
Not keys |
|
No |
Yes |
Yes |
|
■ Sun has a
nice explanation of all collections, including an API, and a more complete list
of all the various collection classes at http://java.sun.com/j2se/1.4.2/docs/guide/collections/index.html