Question: Your task is to create software for an occupation list object that uses a linked list instead of an array, then substitute this new class

Your task is to create software for an occupation list object that uses a linked list instead of an array, then substitute this new class for the array-based occupation list class in a copy of the Occupation List assignment you have been working on. You will also need to add a list node class to the project. You should start by making a copy of the first week's IntelliJ Occupation List project, then work with that copy. You do not need to work with the project that involves menus, just the original Occupation List project. If you do things correctly, the new Occupation List class will have properties and methods with names matching those in the array-based Occupation List class, so you should be able to substitute the linked list class into the project in place of the array-based class without changing the main executable class or the Occupation class. You will need to create a ListNode class in addition to the new Occupation List class. Chapter 24 discusses this. Chapter 24 ends with a section discussing how to build a new linked list from a data file containing sets of data for properties in objects of a data class. That is exactly what your software will need to do. Previously, your software had a method to build an array of Occupation objects from a data file. Now it will have a method to build a linked list of Occupation objects from a data file. This section in the chapter is a guide for how to do this. So, you will need to create two classes a class for a list node and a class for the list itself. I strongly suggest you begin with an annotated UML diagram for each class showing the properties and methods needed for the class. The UML diagram for a list node class is in the chapter. The list class itself is simple, but make sure it includes methods similar to those in your existing project to load the list from a data file, print the data, and search the data. Once you have an annotated UML diagram for each of the two new classes, then use the documentation-first approach described starting on page 26 of the Chapter 2 from CSCI 111 (included with this week's material) to outline what each method needs to do, then write the code to do what the outline says to do. This will help you to focus first on the logic of the algorithms, and then focus on coding the logic in Java. If you have any questions about how to do this or run into trouble, then please let me know and I can help you. If your question is about software you are working on, then send a copy of the project with your Canvas message. You should submit a copy of the finished project with the software in the project well-documented. Later we will have a quiz, which will ask you about linked lists and some of the differences between using arrays and linked lists in software such as this.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!