I need help with this ArrayBased List and Linked List Java assignment. Thanks Th
ID: 3861515 • Letter: I
Question
I need help with this ArrayBased List and Linked List Java assignment. Thanks
The System.nanoTime() is used to measure the Runtime
Runtime Class Code
import java.util.Arrays;
public class RunTime {
private static final int MAX = 10;
private long[] runtimes;
private int count;
public RunTime() {
this.runtimes = new long[MAX];
this.count += 0;
}
public void addRuntime(long runTime) {
if (this.count == MAX) {
for (int i = 0; i < (MAX - 1); i++) {
this.runtimes[i] = this.runtimes[i + 1];
}
this.runtimes[MAX - 1] = runTime;
} else {
this.runtimes[count] = runTime;
this.count += 1;
}
}
public double getAverageRunTime() {
double sum = 0;
for (int i = 0; i < this.count; i++) {
sum += this.runtimes[i];
}
return (sum / this.count);
}
public long getLastRunTime() {
return this.runtimes[this.count - 1];
}
public long[] getRunTimes() {
return Arrays.copyOf(this.runtimes, this.count);
}
public void resetRunTimes() {
for (int i = 0; i < MAX; i++) {
this.runtimes[i] = 0;
}
}
}
ListInterface Methods
LinkedLinkNode
Driver Interface Methods
Details 1. RunTime Class You will copy the RunTime class that you created in Homework 1 to the project you are using for this assignment. 2. Array Based List Class You will write the ArrayBasedList. java class which will implement the List Interface. The interface may be downloaded from ListInterfaceiava. Please note that you do not inherit from the RunTime class. 3. Linked List Class You will write the LinkedList java class which will implement the List Interface The interface may be downloaded from ListInterface.iava Please note that you do not inherit from the RunTime class. 4. Linked list Node Class Your will write the LinkedListNode. Please see the Linked List Documentation for all the methods you will need. Please note that you do not inherit from the RunTime class. 5. Driver Class You will write the Driver ava class which will implement the Driver Interface. The interface may be downloaded from DriverInterface.iava.Explanation / Answer
import java.util.Arrays;
public class RunTime {
private static final int MAX = 10;
private long[] runtimes;
private int count;
public RunTime() {
this.runtimes = new long[MAX];
this.count += 0;
}
public void addRuntime(long runTime) {
if (this.count == MAX) {
for (int i = 0; i < (MAX - 1); i++) {
this.runtimes[i] = this.runtimes[i + 1];
}
this.runtimes[MAX - 1] = runTime;
} else {
this.runtimes[count] = runTime;
this.count += 1;
}
}
public double getAverageRunTime() {
double sum = 0;
for (int i = 0; i < this.count; i++) {
sum += this.runtimes[i];
}
return (sum / this.count);
}
public long getLastRunTime() {
return this.runtimes[this.count - 1];
}
public long[] getRunTimes() {
return Arrays.copyOf(this.runtimes, this.count);
}
public void resetRunTimes() {
for (int i = 0; i < MAX; i++) {
this.runtimes[i] = 0;
}
}
}