## org.apache.tomcat.util.collections
Class SimpleHashtable

    java.lang.Object
      org.apache.tomcat.util.collections.SimpleHashtable

All Implemented Interfaces:
  java.util.Enumeration

public final class SimpleHashtable
extends java.lang.Object
implements java.util.Enumeration

This class implements a special purpose hashtable. It works like a normal `java.util.Hashtable` except that:

1. Keys to "get" are strings which are known to be interned, so that "==" is used instead of "String.equals". (Interning could be document-relative instead of global.)
2. It's not synchronized, since it's to be used only by one thread at a time.
3. The keys () enumerator allocates no memory, with live updates to the data disallowed.
4. It's got fewer bells and whistles: fixed threshold and load factor, no JDK 1.2 collection support, only keys can be enumerated, things can't be removed, simpler inheritance; more.

The overall result is that it's less expensive to use these in performance-critical locations, in terms both of CPU and memory, than `java.util.Hashtable` instances. In this package it makes a significant difference when normalizing attributes, which is done for each start-element construct.

Constructor Summary
`SimpleHashtable()` Constructs a new, empty hashtable with a default capacity.
`SimpleHashtable(int initialCapacity)` Constructs a new, empty hashtable with the specified initial capacity.

Method Summary
`void` `clear()`
`java.lang.Object` `get(java.lang.String key)` Returns the value to which the specified key is mapped in this hashtable ...
`java.lang.Object` `getInterned(java.lang.String key)` Returns the value to which the specified key is mapped in this hashtable.
`boolean` `hasMoreElements()` Used to view this as an enumeration; returns true if there are more keys to be enumerated.
`java.util.Enumeration` `keys()` Returns an enumeration of the keys in this hashtable.
`java.lang.Object` `nextElement()` Used to view this as an enumeration; returns the next key in the enumeration.
`java.lang.Object` `put(java.lang.Object key, java.lang.Object value)` Maps the specified `key` to the specified `value` in this hashtable.
`java.lang.Object` `remove(java.lang.Object key)`
`int` `size()` Returns the number of keys in this hashtable.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SimpleHashtable

    public SimpleHashtable(int initialCapacity)

  Constructs a new, empty hashtable with the specified initial capacity.

Parameters:
  `initialCapacity` - the initial capacity of the hashtable.

### SimpleHashtable

    public SimpleHashtable()

  Constructs a new, empty hashtable with a default capacity.

Method Detail

### clear

    public void clear()

### size

    public int size()

  Returns the number of keys in this hashtable.

  Returns:
    the number of keys in this hashtable.

### keys

    public java.util.Enumeration keys()

  Returns an enumeration of the keys in this hashtable.

  Returns:
    an enumeration of the keys in this hashtable.
  See Also:
    `Enumeration`

### hasMoreElements

    public boolean hasMoreElements()

  Used to view this as an enumeration; returns true if there are more keys to be enumerated.

  Specified by:
    `hasMoreElements` in interface `java.util.Enumeration`

### nextElement

    public java.lang.Object nextElement()

  Used to view this as an enumeration; returns the next key in the enumeration.

  Specified by:
    `nextElement` in interface `java.util.Enumeration`

### getInterned

    public java.lang.Object getInterned(java.lang.String key)

  Returns the value to which the specified key is mapped in this hashtable.

### get

    public java.lang.Object get(java.lang.String key)

  Returns the value to which the specified key is mapped in this hashtable ... the key isn't necessarily interned, though.

### put

    public java.lang.Object put(java.lang.Object key,
                                java.lang.Object value)

  Maps the specified `key` to the specified `value` in this hashtable. Neither the key nor the value can be `null`.

  The value can be retrieved by calling the `get` method with a key that is equal to the original key.

### remove

    public java.lang.Object remove(java.lang.Object key)

Copyright © 2000-2003 Apache Software Foundation. All Rights Reserved.