Package org.mozilla.javascript
Class Hashtable
- java.lang.Object
-
- org.mozilla.javascript.Hashtable
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Iterable<Hashtable.Entry>
public class Hashtable extends java.lang.Object implements java.io.Serializable, java.lang.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:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Hashtable.Entry
One entry in the hash table.
-
Constructor Summary
Constructors Constructor Description Hashtable()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
java.lang.Object
delete(java.lang.Object key)
java.lang.Object
get(java.lang.Object key)
boolean
has(java.lang.Object key)
java.util.Iterator<Hashtable.Entry>
iterator()
void
put(java.lang.Object key, java.lang.Object value)
int
size()
-
-
-
Method Detail
-
size
public int size()
-
put
public void put(java.lang.Object key, java.lang.Object value)
-
get
public java.lang.Object get(java.lang.Object key)
-
has
public boolean has(java.lang.Object key)
-
delete
public java.lang.Object delete(java.lang.Object key)
-
clear
public void clear()
-
iterator
public java.util.Iterator<Hashtable.Entry> iterator()
- Specified by:
iterator
in interfacejava.lang.Iterable<Hashtable.Entry>
-
-