# IIntfIntfMap/IStrIntfMap/
IStrStrMap/IStrMap/IMap

## Unit

DCL_intf

## Inheritance

Base interface

## Methods

### IIntfIntfMap

`procedure Clear;
function ContainsKey(Key: IInterface): Boolean;
function ContainsValue(Value: IInterface): Boolean;
function Equals(AMap: IIntfIntfMap): Boolean;
function GetValue(Key: IInterface): IInterface;
function IsEmpty: Boolean;
function KeySet: IIntfSet;
procedure PutAll(AMap: IIntfIntfMap);
procedure PutValue(Key, Value: IInterface);
function Remove(Key: IInterface): IInterface;
function Size: Integer;
function Values: IIntfCollection;
`

### IStrIntfMap

`procedure Clear;
function ContainsKey(const Key: string): Boolean;
function ContainsValue(Value: IInterface): Boolean;
function Equals(AMap: IStrIntfMap): Boolean;
function GetValue(const Key: string): IInterface;
function IsEmpty: Boolean;
function KeySet: IStrSet;
procedure PutAll(AMap: IStrIntfMap);
procedure PutValue(const Key: string; Value: IInterface);
function Remove(const Key: string): IInterface;
function Size: Integer;
function Values: IIntfCollection;
`

### IStrStrMap

`procedure Clear;
function ContainsKey(const Key: string): Boolean;
function ContainsValue(const Value: string): Boolean;
function Equals(AMap: IStrStrMap): Boolean;
function GetValue(const Key: string): string;
function IsEmpty: Boolean;
function KeySet: IStrSet;
procedure PutAll(AMap: IStrStrMap);
procedure PutValue(const Key, Value: string);
function Remove(const Key: string): string;
function Size: Integer;
function Values: IStrCollection;
`

### IStrMap

`procedure Clear;
function ContainsKey(const Key: string): Boolean;
function ContainsValue(Value: TObject): Boolean;
function Equals(AMap: IStrMap): Boolean;
function GetValue(const Key: string): TObject;
function IsEmpty: Boolean;
function KeySet: IStrSet;
procedure PutAll(AMap: IStrMap);
procedure PutValue(const Key: string; Value: TObject);
function Remove(const Key: string): TObject;
function Size: Integer;
function Values: ICollection;
`

### IMap

`procedure Clear;
function ContainsKey(Key: TObject): Boolean;
function ContainsValue(Value: TObject): Boolean;
function Equals(AMap: IMap): Boolean;
function GetValue(Key: TObject): TObject;
function IsEmpty: Boolean;
function KeySet: ISet;
procedure PutAll(AMap: IMap);
procedure PutValue(Key, Value: TObject);
function Remove(Key: TObject): TObject;
function Size: Integer;
function Values: ICollection;
`

## Description

A map is a group of entries. An entry is an association of a key and a value

Method | Description
--- | ---
Clear | Clear all objects contained in the map.
ContainsKey | Return True if Key is in map as a key.
ContainsValue | Return True if Value is in map as a value.
Equals | Return True if all entires of the map are equal to all entries of AMap..
GetValue | Return the value associated to the Value.
IsEmpty | Return True if the map contains no entry.
KeySet | Return a set that contains all the keys of the map.
PutAll | Put all values of AMap in the map.
PutValue | Put Value associated to Key in the map.
Remove | Remove the value associated to Key in the map.
Size | Return the number of entries of the map.
Values | Return a collection of the values of the map.

## Implemented By

- HashMap