# IIntfSet/IStrSet/ISet

## Unit

DCL_intf

## Inheritance

Derived from IIntfCollection/IStrCollection/ICollection

## Methods

### IIntfSet

`procedure Intersect(ACollection: IIntfCollection);
procedure Union(ACollection: IIntfCollection);
procedure Subtract(ACollection: IIntfCollection);
`

### IStrSet

`procedure Intersect(ACollection: IStrCollection);
procedure Subtract(ACollection: IStrCollection);
procedure Union(ACollection: IStrCollection);
`

### ISet

`procedure Intersect(ACollection: ICollection);
procedure Union(ACollection: ICollection);
procedure Subtract(ACollection: ICollection);
`

## Description

A set is a collection which must be contain unique object.

Method | Description
--- | ---
Intersect | Keep only objects that are present in ACollection and in the set.
Union | Add all objects from ACollection in the set.
Substract | Remove all objects taht are present in ACollection from the set.

## Implemented By

- ArraySet
- HashSet