Class Hashtable

java.lang.Object
org.mozilla.javascript.Hashtable
All Implemented Interfaces:
Serializable, Iterable<Hashtable.Entry>

public class Hashtable extends Object implements Serializable, Iterable<Hashtable.Entry>
This generic hash table class is used by Set and Map. It uses a standard HashMap for storing keys and values so that we can handle lots of hash collisions if necessary, and a doubly-linked list to support the iterator capability.

This second one is important because JavaScript handling of the iterator is completely different from the way that Java does it. In Java an attempt to modify a collection on a HashMap or LinkedHashMap while iterating through it (except by using the "remove" method on the Iterator object itself) results in a ConcurrentModificationException. JavaScript Maps and Sets explicitly allow the collection to be modified, or even cleared completely, while iterators exist, and even lets an iterator keep on iterating on a collection that was empty when it was created..

See Also: