*
* Not threadsafe.
*/
-public class Hash {
+public class Hash implements java.io.Serializable {
/** this object is inserted as key in a slot when the
* corresponding value is removed -- this ensures that the
* probing sequence for any given key remains the same even if
* other keys are removed.
*/
- private static Object placeholder = new Object();
+ // FIXME: this should have been static except that that makes it nonserializable
+ private Object placeholder = new java.io.Serializable() { };
/** the number of entries with at least one non-null key */
private int usedslots = 0;
public void push(Object o) { addElement(o); }
public Object pop() {
Object ret = lastElement();
- if (size > 0) store[size--] = null;
+ if (size > 0) store[--size] = null;
return ret;
}