# IIntfList/IStrList/IList

## Unit

DCL_intf

## Inheritance

Derived from IIntfCollection/IStrCollection/ICollection

Inerited by IIntfArray/IStrArray/IArray

## Methods

### IIntfList

`procedure Add(Index: Integer; AObject: IInterface); overload;
function AddAll(Index: Integer; ACollection: IIntfCollection): Boolean; overload;
function GetObject(Index: Integer): IInterface;
function IndexOf(AObject: IInterface): Integer;
function LastIndexOf(AObject: IInterface): Integer;
function Remove(Index: Integer): IInterface; overload;
function SetObject(Index: Integer; AObject: IInterface): IInterface;
function SubList(Start, Finish: Integer): IIntfList;
`

### IStrList

`procedure Add(Index: Integer; const AString: string); overload;
function AddAll(Index: Integer; ACollection: IStrCollection): Boolean; overload;
function GetString(Index: Integer): string;
function IndexOf(const AString: string): Integer;
function LastIndexOf(const AString: string): Integer;
function Remove(Index: Integer): string; overload;
procedure SetString(Index: Integer; const AString: string);
function SubList(First, Count: Integer): IStrList;
`

### IList

`procedure Add(Index: Integer; AObject: TObject); overload;
function AddAll(Index: Integer; ACollection: ICollection): Boolean; overload;
function GetObject(Index: Integer): TObject;
function IndexOf(AObject: TObject): Integer;
function LastIndexOf(AObject: TObject): Integer;
function Remove(Index: Integer): TObject; overload;
function SetObject(Index: Integer; AObject: TObject): TObject;
function SubList(Start, Finish: Integer): IList;
`

## Description

A list is a sequence of objects like array, linked list or vector.

Method | Description
--- | ---
Add | Add AObject at position Index in the list.
AddAll | Add all objetcs from ACollection at position Index in the list. Return True if the method succeeds.
GetObject | Return the object at the position Index from the list.
IndexOf | Return the index of AObject from the list.
LastIndexOf | Return the last index of AObject from the list.
Remove | Remove the object at the position Index from the list. Return the removed object.
SetObject | Set AObject at the position Index in the list. Return the set object;
SubList | Return a sublist from Start to Finish Index from the list.

## Implemented By

- ArrayList
- LinkedList
- Vector