I'm trying to create a test harness for my LinkedList. I provided the code below. LinkedListImpl.java   package linkedList;     public abstract class LinkedListImpl implements LinkedList { private ListItem firstItem; public LinkedListImpl() { this.firstItem = null; } @Override public Boolean isItemInList(String thisItem) { ListItem currentItem = firstItem; while (currentItem != null) { if (currentItem.data.equals(thisItem)) { return true; } currentItem = currentItem.next; } return false; } @Override public Boolean addItem(String thisItem) { if (isItemInList(thisItem)) { return false; } else { ListItem newItem = new ListItem(thisItem); if (firstItem == null) { firstItem = newItem; } else { ListItem currentItem = firstItem; while (currentItem.next != null) { currentItem = currentItem.next; } currentItem.next = newItem; } return true; } } @Override public Integer itemCount() { Integer count = 0; ListItem currentItem = firstItem; while (currentItem != null) { count++; currentItem = currentItem.next; } return count; } @Override public void listItems() { if (firstItem == null) { System.out.println("The list is empty."); } else { ListItem currentItem = firstItem; while (currentItem != null) { System.out.println(currentItem.data); currentItem = currentItem.next; } } } @Override public Boolean deleteItem(String thisItem) { if (firstItem == null) { return false; } else if (firstItem.data.equals(thisItem)) { firstItem = firstItem.next; return true; } else { ListItem currentItem = firstItem; while (currentItem.next != null) { if (currentItem.next.data.equals(thisItem)) { currentItem.next = currentItem.next.next; return true; } currentItem = currentItem.next; } return false; } } @Override public Boolean insertBefore(String newItem, String itemToInsertBefore) { if (firstItem == null) { return false; } else if (firstItem.data.equals(itemToInsertBefore)) { ListItem newItemNode = new ListItem(newItem); newItemNode.next = firstItem; firstItem = newItemNode; return true; } else { ListItem currentItem = firstItem; while (currentItem.next != null) { if (currentItem.next.data.equals(itemToInsertBefore)) { ListItem newItemNode = new ListItem(newItem); newItemNode.next = currentItem.next; currentItem.next = newItemNode; return true; } currentItem = currentItem.next; } return false; } } } LinkedListTest.java package linkedList;     public class LinkedListTester { public static void main(String[] args) {   } }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

I'm trying to create a test harness for my LinkedList. I provided the code below.

LinkedListImpl.java

 

package linkedList;

 

 

public abstract class LinkedListImpl implements LinkedList {

private ListItem firstItem;

public LinkedListImpl() {

this.firstItem = null;

}

@Override

public Boolean isItemInList(String thisItem) {

ListItem currentItem = firstItem;

while (currentItem != null) {

if (currentItem.data.equals(thisItem)) {

return true;

}

currentItem = currentItem.next;

}

return false;

}

@Override

public Boolean addItem(String thisItem) {

if (isItemInList(thisItem)) {

return false;

} else {

ListItem newItem = new ListItem(thisItem);

if (firstItem == null) {

firstItem = newItem;

} else {

ListItem currentItem = firstItem;

while (currentItem.next != null) {

currentItem = currentItem.next;

}

currentItem.next = newItem;

}

return true;

}

}

@Override

public Integer itemCount() {

Integer count = 0;

ListItem currentItem = firstItem;

while (currentItem != null) {

count++;

currentItem = currentItem.next;

}

return count;

}

@Override

public void listItems() {

if (firstItem == null) {

System.out.println("The list is empty.");

} else {

ListItem currentItem = firstItem;

while (currentItem != null) {

System.out.println(currentItem.data);

currentItem = currentItem.next;

}

}

}

@Override

public Boolean deleteItem(String thisItem) {

if (firstItem == null) {

return false;

} else if (firstItem.data.equals(thisItem)) {

firstItem = firstItem.next;

return true;

} else {

ListItem currentItem = firstItem;

while (currentItem.next != null) {

if (currentItem.next.data.equals(thisItem)) {

currentItem.next = currentItem.next.next;

return true;

}

currentItem = currentItem.next;

}

return false;

}

}

@Override

public Boolean insertBefore(String newItem, String itemToInsertBefore) {

if (firstItem == null) {

return false;

} else if (firstItem.data.equals(itemToInsertBefore)) {

ListItem newItemNode = new ListItem(newItem);

newItemNode.next = firstItem;

firstItem = newItemNode;

return true;

} else {

ListItem currentItem = firstItem;

while (currentItem.next != null) {

if (currentItem.next.data.equals(itemToInsertBefore)) {

ListItem newItemNode = new ListItem(newItem);

newItemNode.next = currentItem.next;

currentItem.next = newItemNode;

return true;

}

currentItem = currentItem.next;

}

return false;

}

}

}

LinkedListTest.java

package linkedList;

 

 

public class LinkedListTester {

public static void main(String[] args) {

 

}

}

 

Expert Solution
steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Concept of Threads
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education