Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

HashEntry.java /* * To change this template, choose Tools | Templates * and open

ID: 3732139 • Letter: H

Question

HashEntry.java

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

public class HashEntry {

private int key;

private String value;

HashEntry(int key, String value) {

this.key = key;

this.value = value;

}

public int getKey() {

return key;

}

public String getValue() {

return value;

}

  

public void setValue(String val) {

this.value = val;

}

}

HashMap.java

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

public class HashMap {

private final static int TABLE_SIZE = 137;

HashEntry[] table;

HashMap() {

   //Implement

}

public String get(int key) {

// Implement

}

public void put(int key, String value) {

   // Implement

}

public void linearProbe(int key, String value){

   // Implement

}

public void quadraticProbe(int key, String value){

   // Implement

}

}

Use the Java source files HashEntry.java and HashMap.java provided in canvas. Create a hash table that is made of elements HashElement(int Key, String Value) The size of hash table will be 137. Implement the following methods for the hash table: a. put(int Key, String Value): i. Puts the key value pair in the hash table at a certain index. You need to implement a simple hash function H(key) = key mod mapsize to find the index where you will put the pair. 11. iii. If collision occurs, i.e., a pair already exists in that index and the key is not the same as the current key, then you will use this function to resolve the collision, H(key)-(7*H(key)+1) mod mapsize, until you get an empty slot If the index is already full and the keys are the same, just replace the old value with the new one. iv.

Explanation / Answer

ANS:-

Given that,

we should use the Java source files HashEntry.java and HashMap.java provided in canvas. Create a hash table that is made of elements HashElement(int Key, String Value) The size of hash table will be 137. Implement the following methods for the hash table: a. put(int Key, String Value): i. Puts the key value pair in the hash table at a certain index. You need to implement a simple hash function H(key) = key mod mapsize to find the index where you will put the pair. 11. iii. If collision occurs, i.e., a pair already exists in that index and the key is not the same as the current key, then you will use this function to resolve the collision, H(key)-(7*H(key)+1) mod mapsize, until you get an empty slot If the index is already full and the keys are the same, just replace the old value with the new one.

PROGRAM:-

=-=====HashMap========

import java.math.BigInteger;

public class HashMap {
   private final static int TABLE_SIZE = 100;

   HashEntry[] table;

   HashMap() {
       table = new HashEntry[TABLE_SIZE];
       for (int i = 0; i < TABLE_SIZE; i++)
           table[i] = null;
   }

   public String get(int key) {
       int hash = new BigInteger(toAscii(key)).mod(new BigInteger(((Integer) TABLE_SIZE).toString())).intValue();
       while (table[hash] != null && table[hash].getKey() != key)
           hash = ((7 * hash) + 1) % TABLE_SIZE;
       if (table[hash] == null)
           return null;
       else
           return table[hash].getValue();
   }

   public void put(int key, String value) {
       // creating hash code using key value given as a string
       int hash = new BigInteger(toAscii(key)).mod(new BigInteger(((Integer) TABLE_SIZE).toString())).intValue();
       while (table[hash] != null && table[hash].getKey() != key)
           hash = ((7 * hash) + 1) % TABLE_SIZE;
       table[hash] = new HashEntry(key, value);
   }

   public void linearProbe(int key, String value) {
       // Implement
   }

   public void quadraticProbe(int key, String value) {
       // Implement
   }

   public static String toAscii(int value) {
       String s = String.valueOf(value);
       StringBuilder sb = new StringBuilder();
       long asciiInt;
       // loop through all values in the string, including blanks
       for (int i = 0; i < s.length(); i++) {
           // getting Ascii value of character and adding it to the string.
           char c = s.charAt(i);
           asciiInt = (int) c;
           sb.append(asciiInt);
       }
       return String.valueOf(sb);
   }
}

====Main=====
import java.io.IOException;

public class HashTable {
   public static void main(String[] args) throws IOException {
       HashMap entry = new HashMap();
       entry.put(36100, "Dipal");
       entry.put(52120, "Hemant");
       entry.put(22100, "Harleen");
       System.out.println(entry.get(52120));
       entry.put(12345, "John");
       System.out.println(entry.get(12345));

   }
}
=====O/P===
Hemant
John

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote