Create a class hashtable which implements


New concepts tested by this program Hash Tables You will be creating a program that holds a simple Address Book and then lets you do a reverse phone number look up. You will be storing the address book in a hash table implemented with buckets/chaining.

You will be creating a program that holds a simple Address Book and then lets you do a reverse phone number look up. You will be storing the address book ina hash table implemented with buckets/chaining.

Data Element - Person

Create a class Person which implements PersonInterface. The hashCode method should return an integer based on the following hash function:
hashcode = (p1 * (areaCode + p2 * exchangeCode) + extensionCode)

the key is the phone number as a string in the form: (XXX)XXX-XXXX

p1 is the prime 23 and p2 is the prime 31
In the phone number (555)123-4567
areaCode = 555
exchangeCode = 123
extensionCode = 4567

if the hashcode is negative - use the absolute value

Data Structure - HashTable

Create a class HashTable which implements HashTableInterface with buckets. You can use an array of linked lists(of Person objects).You may add any other methods you think are necessary.

Data Managers - AddressBookUtility

Createa class AddressBookUtility that implements the AddressBookUtilityInterface. This class will use an object of yourHashTableclass to hold the Person objects for the address book. The format of the file to be read from or written to is as follows:

FirstnameLastnamePhoneNumaddress

Example:

John Smith (222)555-2345 2310 Oak St., Willmington, VA 24488

You can assume all first names and last names will only be one word (no spaces)

Exception Classes - KeyInUseException, InvalidKeyException

The phone numbers in this address book must be unique because we are using them as the key to place them in the hash table (I know it's not ideal, but it simplifies the program). If a Person object being added to the hash table has the same phone number as an object in the hash table, the KeyInUseException will be raised.

If the key is not in the format (XXX)XXX-XXXX where the X is a digit, the InvalidKeyException will be raised.

GUI Driver

If the user selects the Read Text File button, use the FileChooser to ask the user for the location of the text file to be read. If the user selects Add, retrieve the information from the textbox fields and add to the address book. When the user selects Reverse Look Up, retrieve all the phone numbers in the left text area and print the corresponding lastname and firstname for that phone number. When the user selects Write Text File, use the FileChooser to ask the user for the location of the text file to be written to. When the user selects Exit, the program terminates.

Attachment:- Assign.zip

Request for Solution File

Ask an Expert for Answer!!
JAVA Programming: Create a class hashtable which implements
Reference No:- TGS01141188

Expected delivery within 24 Hours