bug fixes
[IRC.git] / Robust / src / Interface / HashStrings.java
1 package Interface;
2
3 class HashStrings {
4     Pair p[]; // entries in the hash table
5     int f;    // number of full entries
6     public HashStrings() { p = new Pair[38]; f = 0; }
7
8     public void put(String key, String value) {
9         int n = p.length;
10         if (f  == n-1) return; // cheese -- a diary product
11         int i = key.hashCode() % n;
12         while (p[i] != null) {
13             if (key.equals(p[i].key)) {
14                 p[i] = new Pair(key, value);
15                 return;
16             }
17             i = (i+1) % n;
18         }
19         p[i] = new Pair(key, value);
20         f = f + 1;
21     }
22
23     public String get(String key) {
24         int n = p.length;
25         int i = key.hashCode() % n;
26         while (p[i] != null) {
27             if (key.equals(p[i].key))
28                 return p[i].value;
29             i = (i+1) % n;
30         }
31         return null;
32     }
33
34 }
35
36 class Pair {
37     String key, value;
38     Pair (String key, String value) { this.key = key; this.value = value; }
39 }