# TIntfIntfHashMap/TStrIntfHashMap/
TStrStrHashMap/TStrHashMap/THashMap

## Unit

HashMap

## TIntfIntfHashMap

### Inheritance

Derived from TAbstractContainer

### Implements

- IIntfIntfMap
- IIntfCloneable

### Description

This class store a map with interface as hashed key and interface as value.

Hashed value give an index to a dynamic array (Buckets) that store another (Entries) in each cells for collisions.

The default buckets capacity is 16 elements. The buckets capacity is fixed. The default entries capcity is 1. When the limit is reached, the capacity grows of 25% if > 64 else it is muliply by 4.

You can change the hash function by the property HashFunction

If the compilation symbol THREADSAFE (dcl.inc) is defined, this container is threadsafe.

## TStrIntfHashMap

### Inheritance

Derived from TAbstractContainer

### Implements

- IStrIntfMap
- ICloneable

### Description

This class store a map with string as hashed key and interface as value.

Hashed value give an index to a dynamic array (Buckets) that store another (Entries) in each cells for collisions.

The default buckets capacity is 16 elements. The buckets capacity is fixed. The default entries capcity is 1. When the limit is reached, the capacity grows of 25% if > 64 else it is muliply by 4.

You can change the hash function by the property HashFunction

If the compilation symbol THREADSAFE (dcl.inc) is defined, this container is threadsafe.

## TStrStrHashMap

### Inheritance

Derived from TAbstractContainer

### Implements

- IStrStrMap
- ICloneable

### Description

This class store a map with string as hashed key and string as value.

Hashed value give an index to a dynamic array (Buckets) that store another (Entries) in each cells for collisions.

The default buckets capacity is 16 elements. The buckets capacity is fixed. The default entries capcity is 1. When the limit is reached, the capacity grows of 25% if > 64 else it is muliply by 4.

You can change the hash function by the property HashFunction

If the compilation symbol THREADSAFE (dcl.inc) is defined, this container is threadsafe.

## TStrHashMap

### Inheritance

Derived from TAbstractContainer

### Implements

- IStrMap
- ICloneable

### Description

This class store a map with string as hashed key and object as value.

Hashed value give an index to a dynamic array (Buckets) that store another (Entries) in each cells for collisions.

The default buckets capacity is 16 elements. The buckets capacity is fixed. The default entries capcity is 1. When the limit is reached, the capacity grows of 25% if > 64 else it is muliply by 4.

You can change the hash function by the property HashFunction

If the compilation symbol THREADSAFE (dcl.inc) is defined, this container is threadsafe.

## THashMap

### Inheritance

Derived from TAbstractContainer

### Implements

- IMap
- ICloneable

### Description

This class store a map with object as hashed key and object as value.

Hashed value give an index to a dynamic array (Buckets) that store another (Entries) in each cells for collisions.

The default buckets capacity is 16 elements. The buckets capacity is fixed. The default entries capcity is 1. When the limit is reached, the capacity grows of 25% if > 64 else it is muliply by 4.

You can change the hash function by the property HashFunction

If the compilation symbol THREADSAFE (dcl.inc) is defined, this container is threadsafe.