Package org.h2.util

# Class SmallMap

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

public class SmallMap extends Object
A simple hash table with an optimization for the last recently used object.

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`int`
`addObject(int id, Object o)`
Add an object to the map.
`void`
`freeObject(int id)`
Remove an object from the map.
`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 Details

### SmallMap

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

Parameters:
  `maxElements` - the maximum number of entries

## Method Details

### addObject

public int addObject(int id, 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 Object getObject(int id, boolean ifAvailable)
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:
  `DbException` - if isAvailable is false and the object has not been found