BIG JAVA: LATE OBJECTS
2nd Edition
ISBN: 9781119626220
Author: Horstmann
Publisher: WILEY
expand_more
expand_more
format_list_bulleted
Question
Chapter 16, Problem 19PE
Program Plan Intro
Implementation of “remove()” operation
Program plan:
- In a file “HashSet.java”, import necessary packages, and create a class “HashSet”,
- Declare the array of “Node” type.
- Declare the necessary variable.
- Define the constructor to create a hash table,
- Create an array and set the current size to “0”.
- Define the method “contains()”,
- Assign the hash code.
- Check whether the value is less than “0”,
- If it is true, assign the negative value.
- Update the hash value.
- Assign the current node value.
- Execute loop till array becomes null,
-
- Check the condition,
- Return true.
- Assign the current value.
- Check the condition,
- Returns false.
- If it is true, assign the negative value.
- Define the method “add()” to add the element to the set,
- Get the hash code.
- Check whether the value is less than “0”,
- If it is true, assign the negative value.
- Update the hash code.
- Assign the hash code value to the current node.
- Execute a loop,
-
- Check the condition,
- Return false.
- Assign the next value to the value in the current node.
- Check the condition,
- Create a new node.
- Assign the value to new node value.
- Assign the value to the next node.
- Assign the new node value to the bucket.
- Increment the size.
- Return true.
- If it is true, assign the negative value.
- Define the method “remove()” to remove the object from the set,
- Get the hash code.
- Check whether the value is less than “0”,
- If it is true, assign the negative value.
- Update the hash code.
- Assign the hash code value to the current node.
- Set null to the previous node.
- Execute a loop,
-
- Check the condition,
- Check whether the previous node contains null value,
- If it is true, assign the next node value to the bucket.
- Otherwise,
- Assign the next of the current node value to the next of the previous node value.
- Decrement the size.
- Return true.
- Otherwise,
- If it is true, assign the next node value to the bucket.
- Check whether the previous node contains null value,
- Assign the current node value to the previous node value.
- Assign the next of the current node value to the current node.
- Check the condition,
- Return false.
- If it is true, assign the negative value.
- Define the method “iterator ()” to return an iterator that traverse the set elements,
- Return the object of “HashSetIterator”.
- Define the method “size ()” to return the size of the set.
- Create a class “Node”,
- Declare the object for “Object”.
- Declare the object of “Node”.
- Create a class “HashSetIterator” that implements the interface “Iterator”,
- Declare the necessary variables.
- Define the constructor to create a hash set that point to the first element of the hash set.
- Define the method “hasNext()”,
- Check whether the current node and the next of the current node is not null,
- If it is true, returns true.
-
- Execute a loop,
- Check whether the bucket contains not null value,
- If it is true, returns true.
- Check whether the bucket contains not null value,
- Returns false.
- Execute a loop,
- Check whether the current node and the next of the current node is not null,
- Define the method “next()”,
- Check whether the current node is not null value,
- If it is true, assign the current node value to the previous.
- Check whether the next reference of the current node is not null,
-
- Assign the next node value to the current node value.
-
-
- Otherwise,
- Call the method “moveToNext_Bucket()”.
- Otherwise,
-
-
- Assign the next node value to the current node value.
- Otherwise,
- Call the method “moveToNext_Bucket()”.
- Set the Boolean value to true.
- Return the current node value.
- Check whether the current node is not null value,
- Define the method “moveToNext_Bucket()”,
- Execute the following statement,
- Increment the index.
- Check the condition,
-
- Throw an exception “NoSuchElementException”.
-
-
- Assign the value.
-
-
- Throw an exception “NoSuchElementException”.
- Check the condition at the end of the loop.
- Execute the following statement,
- Define the method “remove()”,
- Execute for the Boolean value,
- Throw an exception “UnsupportedOperationException”.
- Check whether the previous is null value,
- Set the current node to null
- Set the index to “-1”.
- Call the method “removeFirst()”.
- Otherwise,
- Assign the current node value to the object variable.
- Assign the previous to the current node value.
- Call the method “remove()”.
- Decrement the size.
- Set the previous to null.
- Set the Boolean variable to false.
- Execute for the Boolean value,
- Define the method “removeFirst()”,
- Create a loop,
- Check whether the bucket contains not null value,
-
- If it is true, assign the next value to the bucket.
- Return nothing.
- Create a loop,
- Define the method “remove” with an argument of object parameter,
- Get the hash code.
- Check whether the hash code is less than “0”,
- If it is true, assign the negative value.
- Update the hash code.
- Set the bucket index.
- Create a node.
- Set the value to null.
- Execute a loop,
- Check the condition,
- Check whether the previous is null,
- If it is true, assign the next of the current node to the bucket.
- Otherwise, assign the next of the current node to the next of the previous node.
- Returns nothing.
- Check whether the previous is null,
- Assign the current node to the previous node.
- Set the current element.
- Check the condition,
- In a file “HashSetTest.java”, import necessary package, and create a class “HashSetTest”,
- Define the “main()” method,
- Create an object for “HashSet”.
- Add the element “Harry” to the set.
- Add the element “Sue” to the set.
- Add the element “Nina” to the set.
- Add the element “Susannah” to the set.
- Add the element “Larry” to the set.
- Add the element “Tony” to the set.
- Create an iterator.
- Print the actual output.
- Execute a loop,
- Print the actual output.
- Print the symbol “]”.
- Print the expected output.
- Create an iterator.
- Call the method “next()”.
- Call the method “next()”.
- Call the method “remove()”.
- Create an iterator.
- Print the actual output.
- Execute a loop,
- Print the actual output.
- Print the symbol “]”.
- Print the expected output.
- 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
Two pseudocode questions I need help with: How do I design a module called findSum that will display the sum of two integer passed by parameter, and a module called findArea that will display the area of a rectangle when passed 2 real values for the length and width of the rectangle?
For the pseudocode module, what is displayed with the call findValue(1, 4, 2)?Module findValue(Integer a, Integer b, Integer c)
Declare Integer value
value = b + c - a
Display value
I need help finishing my python rock paper scissors code, where it asks the user "rock, paper, scissors", the user types either option (repeatedly asks until its one of the three), and for a random option from the code to select also rock paper scissors. The end result would be you winning, code winning, or a tie.My code:import randomOPTIONS = ("ROCK", "PAPER", "SCISSOR")
def getInput(): """ Function getInput() will receive and validate user input to be the string ROCK, PAPER, or SCISSOR. Input must be spelled correctly and in all capital letters. Function will return the validated input
@return user input as ROCK, PAPER, OR SCISSOR """ #need help here
def checkWinner(user, computer): """ Function checkWinner will accept 2 string parameters that must be unique values of ROCK, PAPER, or SCISSOR. Functions should return true if the string in parameter user beats the string in parameter computer in a game of rock…
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
- I need help understanding how could I got the IP Address for the 1st Host on this Subnet, the IP Address for the Last Host on this Subnet & the Broadcast Address for this Subnet My Explanation:8 bits --> 17 & 0 128 64 32 16 | 8 4 2 1 0 0 0 1 0 0 0 1 -->17+ 0 0 0 0 0 0 0 0 --> 0 0 0 0 0 0 0 0 0 --> 0 (The Major (Base) Network Address): 142.20.33.0 To find the broadcast address, we can set all the bits in the host portion of the address to 1, which gives us 142.20.33.255. Based on the subnet mask 255.255.255.0, no bits were borrowed from the host portion, meaning 8 bits remain in the host portion. Using the formula 2^h – 2 (where h represents the number of host bits), we get 2^8 - 2 = 254 hosts. 8 bits --> 17 & 252 128 64 32 16 | 8 4 2 1 0 0 0 1 0 0 0 1 --> 17+ 1 1 1 1 1 1 0 0 --> 252 0 0 0 1…arrow_forwardWhich 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 boxarrow_forwardHow 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.arrow_forward
- 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 marksarrow_forwardWhich 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_forward
- How 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_forwardA(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_forward
- The 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_forwardWhy 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_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