CSE 211
More Stacks and Queues;
Complexity (Big-Oh)
reading: 13.1 - 13.3
slides created by Marty Stepp
http://www.cs.washington.edu/143/
2
Notes on the homework
• You must implement the LetterInventory API exactly as
described.
• The structure of your testing code is up to you, as long as it
works and is easy to read and maintain.
• You must verify that methods that should throw exceptions do
throw exceptions.
• If you wish, you may verify that methods that should not throw
exceptions do not throw exceptions.
3
Type Parameters (Generics)
ArrayList<Type> name = new ArrayList<Type>();
• When declaring or constructing an ArrayList (or
LinkedList or List or Stack or Queue) you must specify
the type of elements it will contain between < and >.
– This is called a
type parameter
or a
generic
class.
– Allows the same ArrayList class to store lists of different types.
ArrayList<String> names = new ArrayList<String>();
names.add("Mr. Rogers");
names.add("Big Bird");
4
ArrayList of primitives?
• The type you specify when creating an ArrayList must be an
object type; it cannot be a primitive type.
// illegal -- int cannot be a type parameter
ArrayList<int> list = new ArrayList<int>();
• But we can still use ArrayList with primitive types by using
special classes called
wrapper
classes in their place.
// creates a list of ints
ArrayList<Integer> list = new ArrayList<Integer>();