Implementing a String collection class
You are required to submit a single file in .pdf format. This file should contain all your code, a written explanation of the design decisions you made in choosing the algorithms and data structures used, an explanation of how they work, and a presentation of timing figures obtained from your code. Half the marks for this mini-project are for presentation skills rather than coding skills. However, presentation includes such things as ensuring the code is laid out well in the .pdf file, and explaining the code well in good clear and correct technical English.
In this you have to build a class which implements an interface called WordStore. This interface defines a collection which stores Strings. It has methods:
public void add(String word)
Adds a String to the collection
public int count(String word)
Returns the number of times a String is in the collection
public void remove(String word)
Removes one occurrence of a String from the collection, or leaves the collection unchanged if the String does not occur in it.
Your submission should include the code you have written, a brief description of how it works, and experimental figures showing its time performance. You should not include the front-end code that was provided for you, but if you develop any additional testing code you should include that. It is your responsibility to make sure your code is properly tested for correctness and to decide on how to collect and present timing data. The data collected should be enough to indicate the efficiency of your implementation when dealing with large amounts of data. The figures should be displayed in the form of graphs or tables.