Linked List In this program you will create a linked list. Each node will have t
ID: 3815968 • Letter: L
Question
Linked List
In this program you will create a linked list. Each node will have the following information:
Employee Number
First name
Last Name
Age
This program will have the following functions:
Display List
List the entries in the nodes.
Add Employees
Create new nodes in the list
Change Employee info
Edit and change information in a node in the list
User must specify the Employee number
Produce a meaningful message if the employee number is not in the list
All numeric input must be validated.
Delete Employees :
remove the node from the list.
Do not forget that if a node is removed from the middle you must reconnect the prior node with the next node.
Count List :
This function will count the number of items in a linked list NOT including the Head. Display the following message:
NNNN has a linked list with ### entries.
where NNNN is your first and last name and ### is the number of entries
e.g. John Smith has a linked list with 4 entries.
Explanation / Answer
Hi,
Please see below the classes.
Node.java
public class Node {
private String employeeNumber;
private String firstName;
private String lastName;
private int age;
public Node(String employeeNumber, String firstName, String lastName,int age) {
super();
this.employeeNumber = employeeNumber;
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
}
public String getEmployeeNumber() {
return employeeNumber;
}
public void setEmployeeNumber(String employeeNumber) {
this.employeeNumber = employeeNumber;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
MyLinkedList.java
import java.util.Iterator;
import java.util.LinkedList;
public class MyLinkedList {
private LinkedList<Node> nodes;
public MyLinkedList(){
nodes = new LinkedList<>();
}
//Display List
public void displayList(){
Iterator<Node> iter = nodes.iterator();
while(iter.hasNext()){
Node currNode = iter.next();
System.out.println("Employee Number : "+currNode.getEmployeeNumber()
+" First Name : "+currNode.getFirstName()
+" Last Name : "+ currNode.getLastName()
+" Age : "+currNode.getAge());
}
}
//Add Employees
public void addEmployees(Node node){
this.nodes.add(node);
}
//Change Employee info
public void changeEmpInfo(String empNo,String paramNum, String newParam){
Iterator<Node> iter = nodes.iterator();
boolean empFound =false;
while(iter.hasNext()){
Node currNode = iter.next();
if(currNode.getEmployeeNumber().equalsIgnoreCase(empNo)){
if("1".equalsIgnoreCase(paramNum)){
currNode.setFirstName(newParam);
}
else if("2".equalsIgnoreCase(paramNum)){
currNode.setLastName(newParam);
}
else if("3".equalsIgnoreCase(paramNum)){
currNode.setAge(Integer.valueOf(newParam));
}
empFound = true;
System.out.println("Employee with Emp number : "+empNo +"has been updated successfully.");
break;
}
}
if(!empFound){
System.out.println("No Employee exists with this Emp number : "+empNo);
}
}
//Delete Employees
public void delete(String empNo){
Iterator<Node> iter = nodes.iterator();
while(iter.hasNext()){
Node currNode = iter.next();
if(currNode.getEmployeeNumber().equalsIgnoreCase(empNo)){
nodes.remove(currNode);
System.out.println("Emplyee Deleted.");
break;
}
}
}
//Count List
public void countList(){
String headFName ="";
String headLName ="";
Iterator<Node> iter = nodes.iterator();
while(iter.hasNext()){
Node currNode = iter.next();
headFName = currNode.getFirstName(); //getting the firstname of the head node
headLName = currNode.getLastName(); ////getting the lastName of the head node
break;
}
System.out.println(headFName +" "+headLName + " has a linked list with "+nodes.size()+" entries. ");
}
//Getters and Setters
public LinkedList<Node> getNodes() {
return nodes;
}
public void setNodes(LinkedList<Node> nodes) {
this.nodes = nodes;
}
}
MyLinkedListTester.java
public class MyLinkedListTester {
public static void main(String [] args){
//Populating the nodes linkedlist
Node node1 = new Node("1011", "Robert", "Tom", 36);
Node node2 = new Node("1012", "Cobert", "Gom", 35);
Node node3 = new Node("1013", "Tobert", "Jom", 33);
Node node4 = new Node("1014", "Lobert", "Zom", 37);
Node node5 = new Node("1015", "Wobert", "Yom", 31);
MyLinkedList myLinkedList = new MyLinkedList();
myLinkedList.getNodes().add(node1);
myLinkedList.getNodes().add(node2);
myLinkedList.getNodes().add(node3);
myLinkedList.getNodes().add(node4);
myLinkedList.getNodes().add(node5);
//Displaying List
myLinkedList.displayList();
//Adding new Employee
Node nodeNew = new Node("2001", "Kalvin", "Clain", 27);
myLinkedList.addEmployees(nodeNew);
//Display after adding new employee
System.out.println("Display after adding new employee ");
myLinkedList.displayList();
//Changing Employee info
myLinkedList.changeEmpInfo("1011", "1", "Tara"); //Changing firstName
myLinkedList.changeEmpInfo("1011", "2", "Collin"); //Changing lastName
myLinkedList.changeEmpInfo("1011", "3", "28"); //Changing age
//Display after changing emp info
System.out.println("Display after changing employee information");
myLinkedList.displayList();
//Deleting Employees
myLinkedList.delete("2001");
//Display after Deleteng employee
System.out.println("Display after Deleteng employee");
myLinkedList.displayList();
//Counting List
myLinkedList.countList();
}
}
Sample output:
Employee Number : 1011 First Name : Robert Last Name : Tom Age : 36
Employee Number : 1012 First Name : Cobert Last Name : Gom Age : 35
Employee Number : 1013 First Name : Tobert Last Name : Jom Age : 33
Employee Number : 1014 First Name : Lobert Last Name : Zom Age : 37
Employee Number : 1015 First Name : Wobert Last Name : Yom Age : 31
Display after adding new employee
Employee Number : 1011 First Name : Robert Last Name : Tom Age : 36
Employee Number : 1012 First Name : Cobert Last Name : Gom Age : 35
Employee Number : 1013 First Name : Tobert Last Name : Jom Age : 33
Employee Number : 1014 First Name : Lobert Last Name : Zom Age : 37
Employee Number : 1015 First Name : Wobert Last Name : Yom Age : 31
Employee Number : 2001 First Name : Kalvin Last Name : Clain Age : 27
Employee with Emp number : 1011has been updated successfully.
Employee with Emp number : 1011has been updated successfully.
Employee with Emp number : 1011has been updated successfully.
Display after changing employee information
Employee Number : 1011 First Name : Tara Last Name : Collin Age : 28
Employee Number : 1012 First Name : Cobert Last Name : Gom Age : 35
Employee Number : 1013 First Name : Tobert Last Name : Jom Age : 33
Employee Number : 1014 First Name : Lobert Last Name : Zom Age : 37
Employee Number : 1015 First Name : Wobert Last Name : Yom Age : 31
Employee Number : 2001 First Name : Kalvin Last Name : Clain Age : 27
Emplyee Deleted.
Display after Deleteng employee
Employee Number : 1011 First Name : Tara Last Name : Collin Age : 28
Employee Number : 1012 First Name : Cobert Last Name : Gom Age : 35
Employee Number : 1013 First Name : Tobert Last Name : Jom Age : 33
Employee Number : 1014 First Name : Lobert Last Name : Zom Age : 37
Employee Number : 1015 First Name : Wobert Last Name : Yom Age : 31
Tara Collin has a linked list with 5 entries.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.