Download the JDK
Search the Tutorials
Hide the TOC
Trail: Collections
Lesson: Interfaces
Interfaces
The Collection Interface
The Set Interface
The List Interface
The Queue Interface
The Map Interface
Object Ordering
The SortedSet Interface
The SortedMap Interface
Summary of Interfaces
Questions and Exercises
Home Page > Collections > Interfaces
« Previous • Trail • Next »
Questions and Exercises: Interfaces

### Questions

> 1. This lesson mentions three ways to traverse a `List`. Describe them, and note the limitations of each.
> 2. Consider the four core interfaces, `Set`, `List`, `Queue`, and `Map`. For each of the following four assignments, specify which of the four core interfaces is best suited, and explain how to use it to implement the assignment.
>    - Whimsical Toys Inc (WTI) needs to record the names of all its employees. Every month, an employee will be chosen at random from these records to receive a free toy.
>    - WTI has decided that each new product will be named after an employee — but only first names will be used, and each name will be used only once. Prepare a list of unique first names.
>    - WTI decides that it only wants to use the most popular names for its toys. Count the number of employees who have each first name.
>    - WTI acquires season tickets for the local lacrosse team, to be shared by employees. Create a waiting list for this popular sport.
> 3. The following program is supposed to print the string "Blue". Instead, it throws an error. Why?

>    >     import java.util.*;

>    >     public class SortMe {
>    >         public static void main(String args[]) {
>    >             SortedSet<StringBuffer> s = new TreeSet<StringBuffer>();
>    >             s.add(new StringBuffer("Red"));
>    >             s.add(new StringBuffer("White"));
>    >             s.add(new StringBuffer("Blue"));
>    >             System.out.println(s.first());
>    >         }
>    >     }

### Exercises

> 1. Write a program that prints its arguments in random order. Do not make a copy of the argument array.
> 2. Take the `FindDups example` and modify it to use a `SortedSet` instead of a `Set`. Specify a `Comparator` so that case is ignored when sorting and identifying set elements.
> 3. Write a method that takes a `List<String>` and applies `String.trim` to each element. To do this, you'll need to pick one of the three iteration idioms that you described in Question 1. Two of these will not give the result you want, so be sure to write a program that demonstrates that the method actually works!

Check your answers.
« Previous • Trail • Next »
Previous page: Summary of Interfaces
Next page: Implementations