## org.h2.util
Class SmallMap

    java.lang.Object
      org.h2.util.SmallMap

    public class SmallMap

extends java.lang.Object

A simple hash table with an optimization for the last recently used object.

Constructor Summary
`SmallMap(int maxElements)` Create a map with the given maximum number of entries.

Method Summary
`int` `addObject(int id, java.lang.Object o)` Add an object to the map.
`void` `freeObject(int id)` Remove an object from the map.
`java.lang.Object` `getObject(int id, boolean ifAvailable)` Get an object from the map if it is stored.

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

Constructor Detail

### SmallMap

    public SmallMap(int maxElements)

  Create a map with the given maximum number of entries.

  Parameters:
    `maxElements` - the maximum number of entries

Method Detail

### addObject

    public int addObject(int id,
                         java.lang.Object o)

  Add an object to the map. If the size of the map is larger than twice the maximum size, objects with a low id are removed.

  Parameters:
    `id` - the object id
    `o` - the object
  Returns:
    the id

### freeObject

    public void freeObject(int id)

  Remove an object from the map.

  Parameters:
    `id` - the id of the object to remove

### getObject

    public java.lang.Object getObject(int id,
                                      boolean ifAvailable)
                               throws java.sql.SQLException

  Get an object from the map if it is stored.

  Parameters:
    `id` - the id of the object
    `ifAvailable` - only return it if available, otherwise return null
  Returns:
    the object or null
  Throws:
    `java.sql.SQLException` - if isAvailable is false and the object has not been found