Question
Add a new class that models a Student to be stored in the Node as the data field. Student class should have this content: Data
Add a new class that models aStudentto be stored in the Node as the data field.
Student class should have this content:
Datamembers: id, first name, last name, gender, department, credits & gpa.
Methods: default constructor, rand, toString and list. These methods are explained as follows:
default constructor: sets all data members to values of your choice but need to be justified.
rand: randomly generates an instance of Student by setting all data members to random values.
toString: returns a string containing all data fields in one line.
equals: test if two Students have identical object content.
list: creates and returns a ArrayList of Student objects.
Add a new method to HTLinkedList (Head & Tail Linked List) print that prints all objects contained in the list.
Add a Driver/Demo/Test class to test the methods of HTLinkedList.
public interface ListInterface { /** Adds a new entry to the end of this list. Entries currently in the list are unaffected. The list's size is increased by 1. @param newEntry The object to be added as a new entry. */ public void add(T newEntry); /** Adds a new entry at a specified position within this list. Entries originally at and above the specified position are at the next higher position within the list. The list's size is increased by 1. @param newPosition An integer that specifies the desired position of the new entry. @param newEntry The object to be added as a new entry. @throws IndexOutOfBoundsException if either newPosition getLength() + 1. */ public void add(int newPosition, T newEntry); /** Removes the entry at a given position from this list. Entries originally at positions higher than the given position are at the next lower position within the list, and the list's size is decreased by 1. @param givenPosition An integer that indicates the position of the entry to be removed. @return A reference to the removed entry. @throws IndexOutOfBoundsException if either givenPosition getLength(). */ public T remove(int givenPosition); /** Removes all entries from this list. */ public void clear(); /** Replaces the entry at a given position in this list. @param givenPosition An integer that indicates the position of the entry to be replaced. @param newEntry The object that will replace the entry at the position givenPosition. @return The original entry that was replaced. @throws IndexOutOfBoundsException if either givenPosition getLength(). */ public T replace(int givenPosition, T newEntry); /** Retrieves the entry at a given position in this list. @param givenPosition An integer that indicates the position of the desired entry. @return A reference to the indicated entry. @throws IndexOutOfBoundsException if either givenPosition getLength(). */ public T getEntry(int givenPosition); /** Retrieves all entries that are in this list in the order in which they occur in the list. @return A newly allocated array of all the entries in the list. If the list is empty, the returned array is empty. */ public T[] toArray(); /** Sees whether this list contains a given entry. @param anEntry The object that is the desired entry. @return True if the list contains anEntry, or false if not. */ public boolean contains(T anEntry); /** Gets the length of this list. @return The integer number of entries currently in the list. */ public int getLength(); /** Sees whether this list is empty. @return True if the list is empty, or false if not. */ public boolean isEmpty(); } // end ListInterface
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started