Collections can only hold objects.
Primitive types (int, double, float,etc.)
are not objects.
Primitives must be wrapped in special
Wrappers exist for each of the eight
What is an iterator?
An iterator is an object that
encapsulates the ability to iterate
through or visit each element in the
Using the Iterator Interface
hasNext() method determines if there
are more elements in the array
next() method returns the next element
and advances the iterator
The DrawShapes Application
User clicks in applet window to create
one of three random shapes.
Each shape is added to a collection.
When user clicks in applet window, the
collection is checked to see if a “hit” is
registered on an existing shape.
When a “hit” occurs, the shape’s color
will change randomly.
The Shape Inheritance Hierarchy
Abstract class OurShape implements:
changeColorRandomly() to change the
color of an object by randomly selecting a
contains() to determine whether x, y
coordinates of a mouse click fall within a
draw() to draw the shape at x, y
coordinates specified by a mouse click
Classes Derived from OurShape
What is a linked list?
A LinkedList is a more powerful data
structure that allows for quick and
easy insertion and removal of
LinkedLists come in two types:
Singly linked list—each node knows only
the next node
Doubly linked list—each node knows both
the previous and the next node
What is a set?
A set is a collection with no duplicate
Programmer needs to determine what
constitutes a “duplicate.”
The equals() method can be used to
provide an additional definition of
Based on a hash table, a HashSet is a
powerful data structure that can be
used to retrieve objects quickly in a set.
A hash code is used to organize objects
in a HashSet
TreeSet provides the properties of a set in
a sorted collection.
Objects can be inserted in any order but are
retrieved in sorted order
Uses Comparable interface to compare objects
Primitive types and String objects are
Up to programmer to implement the
compareTo() method for user-defined objects