Java Collection Frameworks
The Java collection framework is a set
of utility classes and interfaces.
Designed for working with collections of
A collection is a group of objects, each of
which is known as an element in the
Types of Collections
Sets have no duplicate elements.
Lists are ordered collections that can have
Map uses key/value pairs to associate an object
(the value) with a key.
Both sets and maps can be sorted or
The Collection Interface
Root interface of
defined in Collection:
ArrayList is a concrete
implementation of the List interface.
A concrete implementation is a class that
can be instantiated.
ArrayList vs. an Array
An ArrayList has several advantages:
Can be resized dynamically as more
objects are added
Elements can be removed from an
Simpler to use than an array
Controlling ArrayList size
size() returns the number of elements
ensureCapacity() sets the capacity of
the ArrayList to a certain number of
trimToSize() trims an ArrayList to
only the number of elements it currently
holds to reduce memory requirements
Although objects in a collection do not
have to be of the same type:
It is not good practice to mix object types
in a collection.
You must check object type and cast to
appropriate class if heterogeneous
collections are used.
Adding Elements to a Collection
add() method is overloaded
myList.add(myObject) adds myObject
to end of collection
myList.add(3, myObject) inserts
myObject at offset 3 in a collection
Replacing and Removing Elements
To replace and remove elements in an
set() method replaces an element at a
remove() method removes an element at
a specified position