Question: Required Skills Inventory - Write concrete classes that implement Java Interfaces according to specifications given in UML. - Implement the major functionality of an array








Required Skills Inventory - Write concrete classes that implement Java Interfaces according to specifications given in UML. - Implement the major functionality of an array list. - Implement the major functionality of a linked list. You are not allowed to use any of the standard Java collection types (like ArrayList) for this assignment. You are also not allowed to use arrays for this assignment. Problem Description and Given Info For this assignment you are given the following Java source code files: - MyListiterator.java (This file is complete - make no changes to this file) - MyList.j java (This file is complete - make no changes to this file) - MyLinkedList.java (You must complete this file) - Main.java (You may use this file to write code to test your MyLinkedList) You must complete the public class named MyLinkedList with fields and methods as defined below. Your MyLinkedList will implement the MyList interface that is provided in the myList. java file. \begin{tabular}{|l|} \hline MyListlterator > \\ \hline \\ \hline +hasNext():boolean+next():Object \\ \hline \end{tabular} \begin{tabular}{|l|} \hline \multicolumn{1}{|c|}{ MyList > } \\ \hline \\ + addToEnd(item: Object) : void \\ + insertAt(index : int, item : Object) : void \\ + removeAt(index : int) : void \\ + getAt( indes : int) : Object \\ + getSize( ) : int \\ + getlterator() : MyListlterator \end{tabular} implements \begin{tabular}{|l|} \hline \multicolumn{1}{|c|}{ MyLinkedList } \\ \hline -head:Node-size:int \\ \hline \\ \hline \end{tabular} \begin{tabular}{|l|} \hline Node \\ \hline +data:Object+next:Node \\ \hline \\ \hline \end{tabular} Note that: - these methods are declared in the MyList interface. You will be implementing these methods in this MyLinkedList concrete derived class. - the getIterator method and the MyListIterator class are already implemented for you in the MyLinkedList class. Make no changes to this code. - the Node class is already implemented for you in the MyLinkedList class. Make no changes to this code. Additional Information MyLinkedList 1. This concrete class will store its elements in Node objects. Each Node object has a data variable that stores the element and a next variable that stores a reference to the next Node object in the list. Each instance of MyL inkedList has a Node variable called head. When size is 0 then head is null. When size is not 0 then head is a reference to the first Node object. For each Node object in the list, if this Node's next is null then this is the last Node in the list. 2. addToEnd method - Appends new item to end of list. For example: given the list {1,2,3} and an instruction to addToEnd ( 99 ), the result would be this {1,2,3,99}. - this method will construct a new Node object who's data is the element to be added, and place this Node appropriately into the list. 3. insertAt method - Inserts a new Node at the specified index in the list. Given the list {1,2,3} and an instruction to insertat (1,99), the result would be this {1,99,2,3}. - Throws a NoSuchelementException if the specified index is less than 0 or greater than size. - this method will construct a new Node object who's data is the element to be added, and place this node appropriately into the list. 4. removeat method - Removes the element at the specified index. For example: given the list {1,2,3} and an instruction to removeAt ( 1 ), the result would be this {1,3}. - Throws a NoSuchelementException if the specified index is less than 0 or greater than or equal to size. 5. getAt method - Returns the item at the specified index. For example: given the list {1,2,3} and an instruction to getat ( 1 ), the return value would be 2 . - Throws a NoSuchElementException if the specified index is less than 0 or greater than or equal to size. 6. getsize method - Returns the number of elements currently stored in the list. Current file: MyLinkedList.java Load default template... File is marked as read only File is marked as read only Current file: MyListlterator.java I/ you may use this file to wrote and run code to test your MyArraylist class public class Main public static void main(String[] args) \{ \}
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
