EBK STARTING OUT W/JAVA:...DATA...
4th Edition
ISBN: 9780134757179
Author: GADDIS
Publisher: PEARSON CO
expand_more
expand_more
format_list_bulleted
Concept explainers
Question
Chapter 18, 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
Computer Science
: Using Java implement the following lab experiment using HashMap.
Create a class Product with following details
Instance Variable: pid(int), product_name(String), price (double)
Overloaded Constructor
toString() method
Create another class called TestProductMap and implement the following in the main method:
Create 10 products
Create HashMap that accepts key integer and value product.
Ex: HashMap<int, Product>
Add all the product to the HashMap, every product key is 1, 2, 3 … so on
Display the HashMap
Add duplicate product to the map with different key
Get the duplicate product that you just added to the list and display it.
Delete a product from the HashMap.
Display the HashMap
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.
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…
Chapter 18 Solutions
EBK STARTING OUT W/JAVA:...DATA...
Ch. 18.1 - Prob. 18.1CPCh. 18.1 - What are the three general types of collections?Ch. 18.1 - Prob. 18.3CPCh. 18.1 - Prob. 18.4CPCh. 18.1 - Prob. 18.5CPCh. 18.1 - Prob. 18.6CPCh. 18.1 - Prob. 18.7CPCh. 18.2 - Prob. 18.8CPCh. 18.2 - Prob. 18.9CPCh. 18.2 - Prob. 18.10CP
Ch. 18.2 - Prob. 18.11CPCh. 18.2 - Prob. 18.12CPCh. 18.2 - Prob. 18.13CPCh. 18.2 - Prob. 18.14CPCh. 18.2 - Prob. 18.16CPCh. 18.2 - Prob. 18.17CPCh. 18.2 - Prob. 18.18CPCh. 18.2 - Prob. 18.20CPCh. 18.3 - Prob. 18.21CPCh. 18.3 - Prob. 18.22CPCh. 18.3 - Prob. 18.23CPCh. 18.3 - Prob. 18.24CPCh. 18.3 - Any time you override the Object classs equals...Ch. 18.3 - Prob. 18.26CPCh. 18.3 - Prob. 18.27CPCh. 18.3 - Prob. 18.28CPCh. 18.4 - Prob. 18.29CPCh. 18.4 - Prob. 18.31CPCh. 18.4 - Prob. 18.32CPCh. 18.6 - How do you define a stream of elements?Ch. 18.6 - How does a stream intermediate operation differ...Ch. 18.6 - Prob. 18.35CPCh. 18.6 - Prob. 18.36CPCh. 18.6 - Prob. 18.37CPCh. 18.6 - Prob. 18.38CPCh. 18.6 - Prob. 18.39CPCh. 18 - Prob. 1MCCh. 18 - Prob. 2MCCh. 18 - This type of collection is optimized for...Ch. 18 - Prob. 4MCCh. 18 - A terminal operation in a stream pipeline is also...Ch. 18 - Prob. 6MCCh. 18 - Prob. 7MCCh. 18 - This List Iterator method replaces an existing...Ch. 18 - Prob. 9MCCh. 18 - Prob. 10MCCh. 18 - This is an object that can compare two other...Ch. 18 - This class provides numerous static methods that...Ch. 18 - Prob. 13MCCh. 18 - Prob. 14MCCh. 18 - Prob. 15TFCh. 18 - Prob. 16TFCh. 18 - Prob. 17TFCh. 18 - Prob. 18TFCh. 18 - Prob. 19TFCh. 18 - Prob. 20TFCh. 18 - Prob. 21TFCh. 18 - Prob. 22TFCh. 18 - Prob. 1FTECh. 18 - Prob. 2FTECh. 18 - Prob. 3FTECh. 18 - Prob. 4FTECh. 18 - Write a statement that declares a List reference...Ch. 18 - Prob. 2AWCh. 18 - Assume that it references a newly created iterator...Ch. 18 - Prob. 4AWCh. 18 - Prob. 2SACh. 18 - Prob. 4SACh. 18 - Prob. 5SACh. 18 - Prob. 6SACh. 18 - How does the Java compiler process an enhanced for...Ch. 18 - Prob. 8SACh. 18 - Prob. 9SACh. 18 - Prob. 10SACh. 18 - Prob. 11SACh. 18 - Prob. 12SACh. 18 - Prob. 13SACh. 18 - Prob. 14SACh. 18 - Word Set Write an application that reads a line of...Ch. 18 - Prob. 3PCCh. 18 - Prob. 5PCCh. 18 - 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: 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_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_forwardimport java.util.HashSet; import java.util.Set; // Define a class named LinearSearchSet public class LinearSearchSet { // Define a method named linearSearch that takes in a Set and an integer target // as parameters public static boolean linearSearch(Set<Integer> set, int target) { // Iterate over all elements in the Set for () { // Check if the current value is equal to the target if () { // If so, return true } } // If the target was not found, return false } // Define the main method public static void main(String[] args) { // Create a HashSet of integers and populate integer values Set<Integer> numbers = new HashSet<>(); // Define the target to search for numbers.add(3); numbers.add(6); numbers.add(2); numbers.add(9); numbers.add(11); // Call the linearSearch method with the set…arrow_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_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
- Exercise 2: Create a Book class; where: lo Each book contains the following information: book title, book Author name, barcode (as long integers) and book topic. 6 Implement an appropriate constructor(s) and all necessary get/set methods. Test Book class: lo Create different book objects (at least 5 books) and store them in a LinkedList sorted by book barcode value. Generate a unique random integer value for the barcode. O Iterate through the LinkedList and print out the books' details o Create a second LinkedList object containing a copy of the above LinkedList, but in reverse orderarrow_forwardJava: Please solve without using Hash set. The class will contain the following static methods: reverseS – A method that displays a string reversely on the console using the following signature: public static void reverseS(String s) printSub1 – print all substrings of a string (duplicated substrings are allowed, but loops are not allowed). The method signature: public static void printSub1(String s) printSub2 – print all substrings of a string (duplicated substrings are not allowed, but loops are allowed). The method signature: public static void printSub2(String s) Note: All methods should be RECURSIVE. Any predefined classes that are based on Set are not allowed. Allow the user to input the string! In the main method, read a string from the user and output the reversed string and substrings to the screen: Sample Run: Please input a string: abcd The reversed string: dcba The substrings of the input string: abcd abc ab a b bc b c bcd bc b c cd c d The substrings of the input string: a…arrow_forwardJava Code: Below are the methods for parser.java. Make sure to use the existing Parser.java file to add in all the methods and show the output. OperationNode: Has enum, left and Optional right members, good constructors and ToString is good VariableReferenceNode: Has name and Optional index, good constructors and ToString is good Constant & Node Pattern: Have name, good constructor and ToString is good ParseLValue - variables: Accepts a variable name and creates an appropriate Variable Reference Node ParseLValue - arrays: Accepts a name, appropriately gets an index and creates an appropriate Variable Reference Node ParseLValue - dollar: Creates an operation node, gets the value of the $ operator appropriately ParseBottomLevel – constants & patterns: Detects strings, numbers and patterns and creates appropriate nodes ParseBottomLevel – parenthesis: Creates an operation node AND gets the contents of the parenthesis appropriately ParseBottomLevel – unary operators: All…arrow_forward
- Define a class named Element with the following private data fields: String name; // The name of the chemical element int atomicNumber; // The atomic number of the element double atomicWeight; // The atomic weight of the element Override the toString() and equals() methods for the class with methods you design. Define a Java HashMap named elements that uses the String value of a chemical symbol as the key and an instance of the Element class as the value. For example, the chemical symbol for Carbon is the letter “C”. The atomic number of Carbon is 6, and the atomic weight of Carbon is 12.011. To add Carbon to the HashMap named elements, first create an instance of the Element class using “Carbon”, 6, and 12.011. Then add an entry to the HashMap collection using “C” as the key and the Element object as the value. Write a menu-driven program that prompts your user with the following six choices: Select an option number from the following menu: Option Action ------…arrow_forwardIn this problem you are given a Set of data and an element. You will need to look to see if the set contains the element. If found return the element otherwise return "?". "Note sometimes the names of classes/variables/objects can be misleading!!!!" import java.util.HashSet;public class SetContainsLetter{public static Object solution(HashSet<Integer> nums, int elm){// ↓↓↓↓ your code goes here ↓↓↓↓return null;}}arrow_forwardExercise 2. Create a Book class where: Each book contains the following information: book title book Author name, barcode (as fong integers), and book topic. o Implement an appropriate constructor(s) and all necessary get/set methods. Test Book class: o Create diffcrent book objects (at least 5 hooks) and store them in a LinkedList sorted by book barcode value Generate a unique random integer value for the barcode. Iterate through the LinkedList and print out the books' details O Create a second LinkedList object containing a copy of the above LinkedList, but in reverse order.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