BIG JAVA: LATE OBJECTS
2nd Edition
ISBN: 9781119626220
Author: Horstmann
Publisher: WILEY
expand_more
expand_more
format_list_bulleted
Question
Chapter 16, Problem 7PP
Program Plan Intro
Circular doubly-linked list
Program plan:
- In a file “ListIterator.java”, create an interface “ListIterator”,
- Declare the method “next()” that moves the iterator past the next element.
- Declare the method “hasNext()” that check if there is an element after the iterator position.
- Declare the method “previous()”.
- Declare the method “hasPrevious()”.
- Declare the method “add()” that adds an element before the position of the iterator and moves the iterator past the added element.
- Declare the method “remove()” that removes the last traversed element.
- Declare the method “set()” to set the last traversed element to a previous value.
- In a file “LinkedList.java”, import the package and create a class “LinkedList”,
- Declare two object variables of type “Node”.
- Define the constructor to create an empty linked list.
- Define the method “getFirst()” that returns the first element in the linked list.
- Define the method “removeFirst()” to remove the first element in the linked list.
- Define the method “addFirst()” that adds an element to front of the linked list.
- Define the method “getLast()” that returns an element last in the linked list.
- Define the method “removeLast()” that removes an element present last in the linked list.
- Define the method “addLast()” that adds an element to the last in the linked list.
- Define the method “listIterator()” of type “ListIterator”, that returns an iterator for iterating through the list.
- Create a class “Node”,
- Declare the object variable for “Object”, and “Node”.
- Create a class “LinkedListIterator”,
- Declare the necessary object variables.
- Declare the necessary Boolean variables.
- Define the constructor to create an iterator that points to the front of the linked list.
- Define the method “next()”,
-
- If there is no next element then throws an exception.
- Set the Boolean values to the Boolean variables.
- Check if position is null, set the first element to the position.
- Otherwise, set the next position to the current position.
- Returns the value at the position.
- Define the method “hasNext()” that check whether there is an element after the iteration and before the starting of the list.
- Define the method “add()”,
-
- If position is null,
- Returns the value.
- Otherwise,
- Returns the value.
- Otherwise,
- Returns the value.
- If position is null,
- Define the method “previous()”,
-
- Check if there is any previous element,
- Throws an exception.
- Assign the Boolean value to the Boolean variables.
- Check the condition,
- Set the null value to the position.
- Throws an exception.
- Check if there is any previous element,
- Define the method “hasPrevious()”,
-
- Returns the Boolean value.
- Define the method “add()”,
-
- If position is null,
- Call the method “addFirst()”.
- Set the first to the position.
- Check the condition,
- Call the method “addLast()”.
- Assign the value.
- Otherwise,
- Create a new node.
- Set the value to the new node.
- Set the next position to the next pointer of new node.
- Assign the new node value to the previous of the new next node value.
- Assign the new node value to the next position.
- Assign the position to the previous of the new node.
- Assign the new node to the position.
- Assign the Boolean values to the Boolean variables.
- Check the condition,
- If position is null,
- Define the method “remove()”,
-
- Assign the value returned from the method “lastPosition()” to the position.
- Check the condition,
- Call the method “removeFirst()”.
- Otherwise, check another condition,
- Call the method “removeLast()”.
- Otherwise,
- Assign the value at the next position to the value at the next of the previous position.
- Assign the value at the previous position to the previous of the next position.
- Check if there is an element after the next position,
- Assign the value at the previous position to the current position.
- Assign the Boolean values to the Boolean variables.
- Otherwise, check another condition,
- Call the method “removeFirst()”.
- Define the method “set()”,
-
- Assign the value returned from the method “lastPosition()”.
- Assign the value.
- Define the method “lastPosition()” that returns the last node iterated by the iterator if there was not an immediately preceding call to previous or next.
- Create a class “LinkedListIterator”,
- Declare the object variable for “Object”, and “Node”.
- In a file “ListTest.java”, create a class “ListTest”,
- Define the “main()” method.
- Create “LinkedList” object.
- Get and print the number of fields in a circular list.
- Print the expected result.
- Call the method “addFirst()”.
- Call the method “addFirst()”.
- Call the method “addLast()”.
- Print he value returned from the method “getFirst()”.
- Print the expected result.
- Print the value obtained from the method “getLast()”.
- Print the expected result.
- Call the method “removeLast()”.
- Print the result obtained from the method “getLast()”.
- Print the expected result.
- Call the method “removeFirst()”.
- Print the value returned from the method “getFirst()”.
- Print the expected result.
- Call the method “addFirst()”.
- Assign the value returned from the method “listIterator()”.
- Print the value returned from the method “hasNext()”.
- Print the expected result.
- Call the method “next()”
- Print the value obtained from the method “hasNext()”.
- Print the expected result.
- Print the value returned from the method “hasPrevious()”.
- Print the expected result.
- Print the value returned from the method “next()”.
- Print the expected result.
- Print the value returned from the method “previous()”.
- Print the expected result.
- Define the “main()” method.
Expert Solution & Answer

Want to see the full answer?
Check out a sample textbook solution
Students have asked these similar questions
show all the work
answer question 3
Show the work
Chapter 16 Solutions
BIG JAVA: LATE OBJECTS
Ch. 16.1 - Prob. 1SCCh. 16.1 - Prob. 2SCCh. 16.1 - Prob. 3SCCh. 16.1 - Prob. 4SCCh. 16.1 - Prob. 5SCCh. 16.1 - Prob. 6SCCh. 16.1 - Prob. 7SCCh. 16.2 - Prob. 8SCCh. 16.2 - Prob. 9SCCh. 16.2 - Prob. 10SC
Ch. 16.2 - Prob. 11SCCh. 16.2 - Prob. 12SCCh. 16.3 - Prob. 13SCCh. 16.3 - Prob. 14SCCh. 16.3 - Prob. 15SCCh. 16.3 - Prob. 16SCCh. 16.3 - Prob. 17SCCh. 16.3 - Prob. 18SCCh. 16.4 - Prob. 19SCCh. 16.4 - Prob. 20SCCh. 16.4 - Prob. 21SCCh. 16.4 - Prob. 22SCCh. 16.4 - Prob. 23SCCh. 16.4 - Prob. 24SCCh. 16 - Prob. 1RECh. 16 - Prob. 2RECh. 16 - Prob. 3RECh. 16 - Prob. 4RECh. 16 - Prob. 5RECh. 16 - Prob. 6RECh. 16 - Prob. 7RECh. 16 - Prob. 8RECh. 16 - Prob. 9RECh. 16 - Prob. 10RECh. 16 - Prob. 11RECh. 16 - Prob. 12RECh. 16 - Prob. 13RECh. 16 - Prob. 14RECh. 16 - Prob. 15RECh. 16 - Prob. 16RECh. 16 - Prob. 17RECh. 16 - Prob. 18RECh. 16 - Prob. 19RECh. 16 - Prob. 20RECh. 16 - Prob. 21RECh. 16 - Prob. 22RECh. 16 - Prob. 23RECh. 16 - Prob. 24RECh. 16 - Prob. 25RECh. 16 - Prob. 26RECh. 16 - Prob. 1PECh. 16 - Prob. 2PECh. 16 - Prob. 3PECh. 16 - Prob. 4PECh. 16 - Prob. 5PECh. 16 - Prob. 6PECh. 16 - Prob. 7PECh. 16 - Prob. 8PECh. 16 - Prob. 9PECh. 16 - Prob. 10PECh. 16 - Prob. 11PECh. 16 - Prob. 12PECh. 16 - Prob. 13PECh. 16 - Prob. 14PECh. 16 - Prob. 15PECh. 16 - Prob. 16PECh. 16 - Prob. 17PECh. 16 - Prob. 18PECh. 16 - Prob. 19PECh. 16 - Prob. 20PECh. 16 - Prob. 21PECh. 16 - Prob. 1PPCh. 16 - Prob. 2PPCh. 16 - Prob. 3PPCh. 16 - Prob. 4PPCh. 16 - Prob. 5PPCh. 16 - Prob. 6PPCh. 16 - Prob. 7PPCh. 16 - Prob. 8PPCh. 16 - Prob. 9PPCh. 16 - Prob. 10PPCh. 16 - Prob. 11PPCh. 16 - Prob. 12PPCh. 16 - Prob. 13PPCh. 16 - Prob. 14PPCh. 16 - Prob. 15PPCh. 16 - Prob. 16PPCh. 16 - Prob. 17PP
Knowledge Booster
Similar questions
- Capsim Team PowerPoint Presentations - Slide Title: Key LearningsWhat were the key learnings that you discovered as a team through your Capsim simulation?arrow_forwardWrite the SQL code that permits to implement the tables: Student and Transcript. NB: Add the constraints on the attributes – keys and other.arrow_forwardDraw an ERD that will involve the entity types: Professor, Student, Department and Course. Be sure to add relationship types, key attributes, attributes and multiplicity on the ERD.arrow_forward
- Draw an ERD that represents a book in a library system. Be sure to add relationship types, key attributes, attributes and multiplicity on the ERD.arrow_forward2:21 m Ο 21% AlmaNet WE ARE HIRING Experienced Freshers Salesforce Platform Developer APPLY NOW SEND YOUR CV: Email: hr.almanet@gmail.com Contact: +91 6264643660 Visit: www.almanet.in Locations: India, USA, UK, Vietnam (Remote & Hybrid Options Available)arrow_forwardProvide a detailed explanation of the architecture on the diagramarrow_forward
- hello please explain the architecture in the diagram below. thanks youarrow_forwardComplete the JavaScript function addPixels () to calculate the sum of pixelAmount and the given element's cssProperty value, and return the new "px" value. Ex: If helloElem's width is 150px, then calling addPixels (hello Elem, "width", 50) should return 150px + 50px = "200px". SHOW EXPECTED HTML JavaScript 1 function addPixels (element, cssProperty, pixelAmount) { 2 3 /* Your solution goes here *1 4 } 5 6 const helloElem = document.querySelector("# helloMessage"); 7 const newVal = addPixels (helloElem, "width", 50); 8 helloElem.style.setProperty("width", newVal); [arrow_forwardSolve in MATLABarrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education

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)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON

C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON

Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning

Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education