tdulik

HashTable - homework

Sep 26th, 2016
240
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package hashTable;
  2.  
  3. public class HashTable {
  4.  
  5.     public int hash(String s) {
  6.         int result=0;
  7.        
  8.         for (int i=0; i<s.length(); i++) {
  9.             result += s.charAt(i);
  10.         }
  11.        
  12.         return result;     
  13.     }
  14.    
  15.     class HashTableItem {
  16.         String key;
  17.         String value;
  18.         HashTableItem next;
  19.         public HashTableItem(String k, String v, HashTableItem n) {
  20.             key=k; value=v; next=n;
  21.         }
  22.     }
  23.    
  24.     HashTableItem array[];
  25.    
  26.     public HashTable(int capacity) {
  27.         array=new HashTableItem[capacity];
  28.     }
  29.    
  30.     public void put(String key, String value) {
  31.         int index = hash(key) % array.length;
  32.         HashTableItem newdata = new HashTableItem(key, value, array[index]);
  33. /*      newdata.key = key;
  34.         newdata.value = value;
  35.         newdata.next = array[index];
  36. */     
  37.         array[index] = newdata;
  38.     }
  39.    
  40.     public String get(String key) {
  41.         int index = hash(key)  % array.length;
  42.         HashTableItem item=array[index];
  43.         while (item!=null && !item.key.equals(key))
  44.             item = item.next;
  45.        
  46. /*      for (HashTableItem item=array[index]; item!=null && !item.key.equals(key);
  47.                 item = item.next);
  48. */     
  49.         if (item==null) return null;
  50.         else return item.value;
  51.        
  52.     }
  53.  
  54.     public void remove(String key) {
  55.         // TODO: this is your homework...
  56.     }
  57. }
RAW Paste Data