CompSci 6- Classwork 20 - April 20, 2010
10 pts

Start by snarfing 20_maps_cps006_spring10.

Problem - Working with Maps

Terminology

Definition
A map is an unordered collection of values each with distinct keys. The key-value pair stored within the map is called an entry.
The key is a distinct object that represents the entry as a whole.
The value is any object.
A map is sometimes also called a dictionary.

Using Maps

A Map might be used to associate student IDs with complete student records, or words to their definitions (like a real dictionary). What other examples of maps can you think of?

Using TreeMap

In Java, the TreeMap class, is used to model the concept of a map given above. In the remainder of this activity, you will use one or more TreeMap objects to discover several interesting statistics about words in a file: how many times a word appears in a given file, or on which lines a word appears in a file.

There is one class defined for this activity: WordLines. You should start by reading over the code in this class and making sure you understand it.

Part 1 - Reading Code

Explain the following details about the code in a README file:

  1. What is the purpose of the Integer object and how is it used in this class?
  2. Why is the output printed in sorted order?
  3. How does the method printResults work for any kind of map


Part 2 - For each word, which lines does it occur on?

Complete the method, getLineNumbers, that creates a new Map with words as the key and the set of line numbers on which that word appears as the value. This method should get the data for each word from the Scanner passed it.


Part 3 - For each letter, what are all the words that start with that letter?

Complete the method, getFrequencies, that creates a new Map with letters as the key and the set of words which start with that letter as the value. This method should get the data for each word from the Scanner passed it.

Submit

Create a README file with both of your names in it if you work with a partner.

Electronically submit the classwork through Eclipse your Java code and README file to the ClassworkApr20Maps folder.