
Big Java Late Objects
2nd Edition
ISBN: 9781119330455
Author: Horstmann
Publisher: WILEY
expand_more
expand_more
format_list_bulleted
Question
Chapter 16, Problem 8PE
Program Plan Intro
Reimplementation of “LinkedList” class
Program plan:
- In a file “LinkedList.java”, import necessary packages and create a class “LinkedList” that extends “AbstractSequentialList”,
- Declare the object variable.
- Declare the necessary variable.
- Define the constructor to create an empty linked list.
- Define the method “size()” to return the linked list size,
- Returns the size.
- 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 the front of the linked list,
- Create a new node.
- Assign the value to the new node.
- Assign the first element to the next pointer of new node.
- Assign new node to the first position.
- Increment the size.
- Define the method “listIterator()” of type “ListIterator”, with an argument “n”,
- Create an object for “LinkedListIterator”.
- Execute a loop till the value becomes “0”,
- Call the method “next()”
- Decrement the value.
- Create a class “Node”,
- Declare the object variable for “Object”, and “Node”.
- Create a class “LinkedListIterator”,
- Declare the necessary object variables.
- Declare the necessary 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.
- Assign the position to the front of the linked list.
- Check if position is null, set the first element to the position.
- Otherwise, set the next position to the current position.
- Increment the index.
- Returns the value.
- Define the method “hasNext()” that check whether there is next element,
-
- Check if position is null,
- Returns true if first reference is not null.
- Otherwise,
- Returns true, if the next reference of the position is not null.
- Check if position is null,
- Define the method “add()”,
-
- If position is null, call the method “addFirst()”.
- Set the first to the position.
- Otherwise, create a new node.
- Assign the element to the new node.
- Set the next position to the next pointer of the new node.
- Set the new node value to the next position.
- Set the new node as the position.
- Increment the size.
- Set the Boolean value to false.
- If position is null, call the method “addFirst()”.
- Define the method “remove()”,
-
- If the boolean value is false, throws an exception.
- If position is same as the first, calls the method “removeFirst()”.
- Otherwise,
- Set the next position to the previous position.
- Set the Boolean value to false.
- Decrement the size.
- Set the previous to the positions.
- Define the method “set()”,
-
- If the Boolean value is false, throws an exception.
- Set the value to the position.
- Define the method “previousIndex()”,
-
- Return the previous of the current index.
- Define the method “nextIndex()”,
-
- Returns the next index.
- Define the method “previous()”,
-
- Throws an exception.
- Define the method “hasPrevious()”,
-
- Returns false.
- In a file “SizeTest.java”, create a class “SizeTest”,
- Define the “main()” method.
- Create the “LinkedList” object.
- Call the method “add()” to add the element “Tom”.
- Print the actual and expected size.
- Call the method “clear()”.
- Print the actual and expected size.
- Initialize the string array.
- Add all the elements of string array into the list.
- Print the actual and expected size.
- Print the string representation of linked list.
- Print the expected output.
- Print the actual output for the function call “get(2)”.
- Print the expected output.
- Create list iterator.
- Print he actual and expected output for the function call “next()”.
- 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
Which of the following opens when you click the launcher in the Size group on the Ribbon?
Question 19Select one:
a.
Size dialog box
b.
Layout dialog box
c.
Width and Height dialog box
d.
Format dialog box
How do you resize a graphic object horizontally while keeping the center position fixed?
Question 20Select one:
a.
Drag a side sizing handle.
b.
Press [Ctrl] and drag a side sizing handle.
c.
Press [Alt] and drag a side sizing handle.
d.
Press [Shift] and drag a side sizing handle.
Which of the following indicates that a graphic is anchored to the nearest paragraph?
Question 18Select one:
a.
X and Y coordinates
b.
An anchor symbol
c.
A paragraph symbol
d.
ruler marks
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
- Which command in the Adjust group allows you to change one picture for another but retain the original picture's size and formatting? Question 17Select one: a. Change Picture b. Replace c. Swap d. Relinkarrow_forwardHow do you insert multiple rows at the same time? Question 10Select one: a. Select the number of rows you want to insert, then use an Insert Control or use the buttons on the Ribbon. b. Click Insert Multiple Rows in the Rows & Columns group. c. Select one row and click the Insert Above or Insert Below button. You will be prompted to choose how many rows to insert. d. You cannot insert multiple rows at the same time.arrow_forwardHow do you center the text vertically in each table cell? Question 9Select one: a. Select the table and click the Distribute Columns button. b. Select the table and click the Center button in the Paragraph group on the Home tab. c. Select the table and click the AutoFit button. d. Click the Select button in the Table group, click Select Table, then click the Align Center Left button in the Alignment group.arrow_forward
- A(n) ____ is a box formed by the intersection of a column and a row. Question 8Select one: a. divider b. table c. border d. cellarrow_forwardA ____ row is the first row of a table that contains the column headings. Question 7Select one: a. header b. primary c. title d. headingarrow_forwardThe Horse table has the following columns: ID - integer, auto increment, primary key RegisteredName - variable-length string Breed - variable-length string Height - decimal number BirthDate - date Delete the following rows: Horse with ID 5 All horses with breed Holsteiner or Paint All horses born before March 13, 2013 To confirm that the deletes are correct, add the SELECT * FROM HORSE; statement.arrow_forward
- Why is Linux popular? What would make someone choose a Linux OS over others? What makes a server? How is a server different from a workstation? What considerations do you have to keep in mind when choosing between physical, hybrid, or virtual server and what are the reasons to choose a virtual installation over the other options?arrow_forwardObjective you will: 1. Implement a Binary Search Tree (BST) from scratch, including the Big Five (Rule of Five) 2. Implement the TreeSort algorithm using a in-order traversal to store sorted elements in a vector. 3. Compare the performance of TreeSort with C++'s std::sort on large datasets. Part 1: Understanding TreeSort How TreeSort Works TreeSort is a comparison-based sorting algorithm that leverages a Binary Search Tree (BST): 1. Insert all elements into a BST (logically sorting them). 2. Traverse the BST in-order to extract elements in sorted order. 3. Store the sorted elements in a vector. Time Complexity Operation Average Case Worst Case (Unbalanced Tree)Insertion 0(1log n) 0 (n)Traversal (Pre-order) 0(n) 0 (n)Overall Complexity 0(n log n) 0(n^2) (degenerated tree) Note: To improve performance, you could use a…arrow_forwardI need help fixing the minor issue where the text isn't in the proper place, and to ensure that the frequency cutoff is at the right place. My code: % Define frequency range for the plot f = logspace(1, 5, 500); % Frequency range from 10 Hz to 100 kHz w = 2 * pi * f; % Angular frequency % Parameters for the filters - let's adjust these to get more reasonable cutoffs R = 1e3; % Resistance in ohms (1 kΩ) C = 1e-6; % Capacitance in farads (1 μF) % For bandpass, we need appropriate L value for desired cutoffs L = 0.1; % Inductance in henries - adjusted for better bandpass response % Calculate cutoff frequencies first to verify they're in desired range f_cutoff_RC = 1 / (2 * pi * R * C); f_resonance = 1 / (2 * pi * sqrt(L * C)); Q_factor = (1/R) * sqrt(L/C); f_lower_cutoff = f_resonance / (sqrt(1 + 1/(4*Q_factor^2)) + 1/(2*Q_factor)); f_upper_cutoff = f_resonance / (sqrt(1 + 1/(4*Q_factor^2)) - 1/(2*Q_factor)); % Transfer functions % Low-pass filter (RC) H_low = 1 ./ (1 + 1i * w *…arrow_forward
- My code is experincing minor issue where the text isn't in the proper place, and to ensure that the frequency cutoff is at the right place. My code: % Define frequency range for the plot f = logspace(1, 5, 500); % Frequency range from 10 Hz to 100 kHz w = 2 * pi * f; % Angular frequency % Parameters for the filters - let's adjust these to get more reasonable cutoffs R = 1e3; % Resistance in ohms (1 kΩ) C = 1e-6; % Capacitance in farads (1 μF) % For bandpass, we need appropriate L value for desired cutoffs L = 0.1; % Inductance in henries - adjusted for better bandpass response % Calculate cutoff frequencies first to verify they're in desired range f_cutoff_RC = 1 / (2 * pi * R * C); f_resonance = 1 / (2 * pi * sqrt(L * C)); Q_factor = (1/R) * sqrt(L/C); f_lower_cutoff = f_resonance / (sqrt(1 + 1/(4*Q_factor^2)) + 1/(2*Q_factor)); f_upper_cutoff = f_resonance / (sqrt(1 + 1/(4*Q_factor^2)) - 1/(2*Q_factor)); % Transfer functions % Low-pass filter (RC) H_low = 1 ./ (1 + 1i * w *…arrow_forwardI would like to know the main features about the following three concepts: 1. Default forwarded 2. WINS Server 3. IP Security (IPSec).arrow_forwardmap the following ER diagram into a relational database schema diagram. you should take into account all the constraints in the ER diagram. Underline the primary key of each relation, and show each foreign key as a directed arrow from the referencing attributes (s) to the referenced relation. NOTE: Need relational database schema diagramarrow_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