Starting Out with Java: From Control Structures through Data Structures (3rd Edition)
3rd Edition
ISBN: 9780134038179
Author: Tony Gaddis, Godfrey Muganda
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
Chapter 19, Problem 14SA
Program Plan Intro
“hashCode” method:
- The hash code is an integer value which is the characteristic of an object.
- The hashing
algorithm is used to evaluate a hash code for an object. - Different objects in the code contain same data and a hashing algorithm should give the same hash code for both.
- For example, if the user wants to evaluate the hash code for a string, he would use the characters making up the string in the calculation. Possibly the user would use each character’s Unicode value in a mathematical formula which would give us an integer value.
“equals” method:
- The “equals” method finds whether the number object which invokes the method is equal to the object which is passed as an argument.
- This method will return “false” if the argument is null and the argument is an object of the different type with the different numeric value.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
Java Objects and Linked Data: Select all of the following statements that are true.
The Java Class Library's class ArrayList implements the LinkedList interface.
In Java, when one reference variable is assigned to another reference variable,
both references then refer to the same object.
In Java, the "equals"-method that any object inherits can be overwritten to
compare objects field by field.
1. Goals and Overview
The goal of this assignment is to practice creating a hash table. This assignment also has an alternative, described in Section 5.
A hash table stores values into a table (meaning an array) at a position determined by a hash function.
2. Hash Function and Values
Every Java object has a method int hashCode() which returns an int suitable for use in a hash table. Most classes use the hashCode method they inherit from object, but classes such as string define their own hashCode method, overriding the
one in object.
For this assignments, your hash table stores values of type
public class HashKeyValue {
K key;
V value;
}
3. Hash Table using Chained Hashing
Create a hash table class (called HashTable211.java) satisfying the following interface:
public interface HashInterface {
void add(K key, V value); // always succeeds as long as there is enough memory
V find (K key);
// returns null if there is no such key
}
Internally, your hash table is defined as a
private…
Hashing
Create a method hashSetExe to use Java HashSet to store elements and print them. For example, input the elements: “Apple”, “Mango”, and “Grapes”. Please state what the output would be when printing the HashSet with the three elements.
Create a method treeSetExe to use Java TreeSet to store elements and print them. For example, input the elements: “Apple”, “Mango”, and “Grapes”. Please state what the output would be when printing the TreeSet with the three elements.
Create a hashing function that takes the string, calculate the sum of the ASCII code of each character, and return (sum%tableSize) as the index. For example, hash(“ab”, 11) returns 8, because ‘a’ is 97 and ‘b’ is 98, which adds up to 195, and 195%11 returns 8.
Chapter 19 Solutions
Starting Out with Java: From Control Structures through Data Structures (3rd Edition)
Ch. 19.1 - Prob. 19.1CPCh. 19.1 - What are the three general types of collections?Ch. 19.1 - Prob. 19.3CPCh. 19.1 - Prob. 19.4CPCh. 19.1 - Prob. 19.5CPCh. 19.1 - Prob. 19.6CPCh. 19.1 - Prob. 19.7CPCh. 19.2 - Prob. 19.8CPCh. 19.2 - Prob. 19.9CPCh. 19.2 - Prob. 19.10CP
Ch. 19.2 - Prob. 19.11CPCh. 19.2 - Prob. 19.12CPCh. 19.2 - Prob. 19.13CPCh. 19.2 - Prob. 19.14CPCh. 19.2 - Prob. 19.16CPCh. 19.2 - Prob. 19.17CPCh. 19.2 - Prob. 19.18CPCh. 19.2 - Prob. 19.20CPCh. 19.3 - Prob. 19.21CPCh. 19.3 - Prob. 19.22CPCh. 19.3 - Prob. 19.23CPCh. 19.3 - Prob. 19.24CPCh. 19.3 - Any time you override the Object classs equals...Ch. 19.3 - Prob. 19.26CPCh. 19.3 - Prob. 19.27CPCh. 19.3 - Prob. 19.28CPCh. 19.4 - Prob. 19.29CPCh. 19.4 - Prob. 19.31CPCh. 19.4 - Prob. 19.32CPCh. 19.6 - How do you define a stream of elements?Ch. 19.6 - How does a stream intermediate operation differ...Ch. 19.6 - Prob. 19.35CPCh. 19.6 - Prob. 19.36CPCh. 19.6 - Prob. 19.37CPCh. 19.6 - Prob. 19.38CPCh. 19.6 - Prob. 19.39CPCh. 19 - Prob. 1MCCh. 19 - Prob. 2MCCh. 19 - This type of collection is optimized for...Ch. 19 - Prob. 4MCCh. 19 - A terminal operation in a stream pipeline is also...Ch. 19 - Prob. 6MCCh. 19 - Prob. 7MCCh. 19 - This List Iterator method replaces an existing...Ch. 19 - Prob. 9MCCh. 19 - Prob. 10MCCh. 19 - This is an object that can compare two other...Ch. 19 - This class provides numerous static methods that...Ch. 19 - Prob. 13MCCh. 19 - Prob. 14MCCh. 19 - Prob. 15TFCh. 19 - Prob. 16TFCh. 19 - Prob. 17TFCh. 19 - Prob. 18TFCh. 19 - Prob. 19TFCh. 19 - Prob. 20TFCh. 19 - Prob. 21TFCh. 19 - Prob. 22TFCh. 19 - Prob. 1FTECh. 19 - Prob. 2FTECh. 19 - Prob. 3FTECh. 19 - Prob. 4FTECh. 19 - Write a statement that declares a List reference...Ch. 19 - Prob. 2AWCh. 19 - Assume that it references a newly created iterator...Ch. 19 - Prob. 4AWCh. 19 - Prob. 2SACh. 19 - Prob. 4SACh. 19 - Prob. 5SACh. 19 - Prob. 6SACh. 19 - How does the Java compiler process an enhanced for...Ch. 19 - Prob. 8SACh. 19 - Prob. 9SACh. 19 - Prob. 10SACh. 19 - Prob. 11SACh. 19 - Prob. 12SACh. 19 - Prob. 13SACh. 19 - Prob. 14SACh. 19 - Word Set Write an application that reads a line of...Ch. 19 - Prob. 3PCCh. 19 - Prob. 5PCCh. 19 - Prob. 8PC
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Similar questions
- Java Code: Add a HashMap to your Lexer class and initialize all the keywords. Change your lexer so that it checks each string before making the WORD token and creates a token of the appropriate type if the work is a key word. When the exact type of a token is known, you should NOT fill in the value string, the type is enough. For tokens with no exact type we still need to fill in the token’s string. Rename “WORD” to “IDENTIFIER”. Strings and characters will require some additions to your state machine. Create “STRINGLITERAL” and “CHARACTERLITERAL” token types. These cannot cross line boundaries. Your lexer should throw an exception if it encounters a character that it doesn’t expect outside of a comment, string literal or character literal. Create a new exception type that includes a good error message and the token that failed. Ensure that the ToString method prints nicely. Add “line number” to your Token class. Keep track of the current line number in your lexer and populate each…arrow_forwardJava Code: Look through the Language Description and build a list of keywords. Add a HashMap to your Lexer class and initialize all the keywords. Change your lexer so that it checks each string before making the WORD token and creates a token of the appropriate type if the work is a key word. When the exact type of a token is known (like “WHILE”), you should NOT fill in the value string, the type is enough. For tokens with no exact type (like “hello”), we still need to fill in the token’s string. Finally, rename “WORD” to “IDENTIFIER”. Similarly, look through the Language Description for the list of punctuation. A hash map is not necessary or helpful for these – they need to be added to your state machine. Be particularly careful about the multi-character operators like := or >=. These require a little more complexity in your state machine. Strings and characters will require some additions to your state machine. Create “STRINGLITERAL” and “CHARACTERLITERAL” token types. These…arrow_forwardIn java please help with the following:arrow_forward
- Java programarrow_forwardWhich of the following statements are true about a HashSet ? Select all that apply. Hint: you should be able to answer this question based only on the material presented in class. If E inherits Object.hashCode(), then there will be no collisions. A HashSet iterator should iterate through the Hashset elements in the order in which they were added to the Hashset. Two HashSets are equal (according to the equals() method) if they have the same size and their elements can be paired such that the pairs are equal according to the E.equals() method. OA HashSet could be implemented using a HashMap namely the key is the same as the value.arrow_forwardJavaarrow_forward
- @return index of the point that is closest to the origin, which is (0, 0) * In case of a tie, return the lowest index */ public int closestToOriginIndex() { return 0; }arrow_forwardCode to start with: public void addStudents(String[] ids){ }arrow_forwardUse C++ Programming language. The header file below defines a class for a simple hash table: hashMap.h Download hashMap.h Write a driver program to test the class with the following data: (520, "3100 Main St, Houston TX "); (37, "2200 Hayes Rd, Austin TX"); (226, "1775 West Airport St, San Antonio TX"); (273, "3322 Walnut Bend, Houston TX"); (491, "5778 Alabama, Waco TX"); (94, "3333 New St, Paris TX"); Make sure to test the find function for exiting and non-existing data 2. Modify the type of member key in class HashEntry from int to a string (this is useful is the key is e.g. the phone number or e-mail address). Use the string hash function discussed in class (see ppt notes) or search online for alternative functions that work on strings. 3. Modify the collision strategy of class HashMap to do separate chaining instead of linear probing. Be sure to modify the display function so that items in the bucket chains are also displayed in a pre-defined order…arrow_forward
- JAVAarrow_forwardCreate a SameItem Interface: The SameItem interface will be a generic interface.SameItem will have a single method: isSameAs(T) that returns a booleanarrow_forwardJava Programming Class Car Attributes (all private): vin: String (5 digits) make: String model: String year: int price: double Methods: Parameterized constructor for initializing a new Car instance Getters for all attributes toString method to display a Car's attributes Executable Class Create an array of at least ten Car objects. Be sure to use many with identical last years and different prices. Create an ArrayList from the array. Shuffle the ArrayList. Sort the ArrayList first by year and then by price. See page 790-791. Using the forEach method and a lambda expression, print all cars sorted as above. Create a LinkedList from the ArrayList. Create an iterator capable of cycling both forward and backward through the LinkedList. Iterate forward through the entire LinkedList but without generating any output. Then iterate backwards through the LinkedList to print the cars data.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