从Delphi 5开始VCL中增加了一个新的Contnrs单元,单元中定义了8个新的类,全部都是基于标准的TList 类。
TList 类
TList 类实际上就是一个可以存储指针的容器类,提供了一系列的方法和属性来添加,删除,重排,定位,存取和排序容器中的类,它是基于数组的机制来实现的容器,比较类似于C++中的Vector和Java中的ArrayList,TList 经常用来保存一组对象列表,基于数组实现的机制使得用下标存取容器中的对象非常快,但是随着容器中的对象的增多,插入和删除对象速度会直线下降,因此不适合频繁添加和删除对象的应用场景。下面是TList类的属性和方法说明:
属性 | 描述 |
Count: Integer; | 返回列表中的项目数 |
Items[Index: Integer]: Pointer; default | 通过以0为底的索引下标直接存取列表中的项目 |
方法 | 类型 | 描述 |
Add(Item: Pointer): Integer; | 函数 | 用来向列表中添加指针 |
Clear; | 过程 | 清空列表中的项目 |
Delete(Index: Integer); | 过程 | 删除列表中对应索引的项目 |
IndexOf(Item: Pointer): Integer; | 函数 | 返回指针在列表中的索引 |
Insert(Index: Integer; Item: Pointer); | 过程 | 将一个项目插入到列表中的指定位置 |
Remove(Item: Pointer): Integer; | 函数 | 从列表中删除指针 |
名称 | 类型 | 描述 |
Capacity: Integer; | property | 可以用来获取或设定列表可以容纳的指针数目 |
Extract(Item: Pointer): Pointer; | function | Extract 类似于Remove 可以将指针从列表中删除,不同的是返回被删除的指针。 |
Exchange(Index1, Index2: Integer); | procedure | 交换列表中两个指针 |
First: Pointer; | function | 返回链表中的第一个指针 |
Last: Pointer; | function | 返回链表中最后一个指针 |
Move(CurIndex NewIndex: Integer); | procedure | 将指针从当前位置移动到新的位置 |
Pack; | procedure | 从列表中删除所有nil指针 |
Sort(Compare: TListSortCompare); | procedure | 用来对链表中的项目进行排序,可以设定Compare参数为用户定制的排序函数 |
时间: 2024-09-23 17:53:05