Implement the following method inside DoubleHashingST.java.
/*
* Return (h1(key) + i*h2(key)) mod m
*/
private int hash(Key key,int i) {
thrownew UnsupportedOperationException();
}
/*
* Return the value associated with the key
*/
public Value get(Key key) {
thrownew UnsupportedOperationException();
}
/*
* Insert key value pairs into the symbol table withoutresizing
*/
public void put(Key key, Valueval) {
thrownew UnsupportedOperationException();
}
/*
* Delete key value pairs from the symbol table withoutresizing
*/
public void delete(Key key){
thrownew UnsupportedOperationException();
}
____________________________________________________________________________________________
public class DoubleHashingST<Key extendsComparable<Key>, Value> implements SymbolTable<Key,Value>{
private int n; // number of key-value pairs in thetable
private int m = 16; // size of linear-probingtable
private Key[] keys; // the keys
private Value[] vals; // the values
public