Big Java, Binder Ready Version: Early Objects
6th Edition
ISBN: 9781119056447
Author: Cay S. 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.
- 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 solutionChapter 16 Solutions
Big Java, Binder Ready Version: Early 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
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