Welcome

首页 / 软件开发 / C++ / TList

TList2008-04-04TList包含对象指针列表。

类关系 TObject

Tlist用于存储和维护对象列表。TList引入属隆和方法以执行以下操作:

(1)在列表中增加或删除对象。

(2)在列表中重排对象。

(3)在列表中定位和获得对象。

(4)在列表中对对象进行排序。

属性列表

Capacity 标识TList对象维护的指针数组的大小。

Count 表明在列表中使用的项的数量。

Items 列出对象的引用。

List 标识组成Items的指针数组。

方法列表

~TList 删除与TList对象有关的内存。

Add 在列表的末尾插入有关的内存。

Clear 从列表中删除所有项。

Delete 删除Index参数标识的项。

Error 产生EListError异常。

Exchange 交换Items数组中两项的位置。

Expand 增加列表的Capacity。

First 返回Items[0]。

IndexOf 返回Items数组中一指针的索引。

Insert 增加一对象至Items数组中。

Last 返回Items[Count-1]。

Move 在Items数组中改变某一项的位置。

Pack 从Items数组中删除所有的零项。

Remove 从Items数组中删除Items参数的第一个引用。

Sort 在列表中执行QuickSort。

TList 创建一个新的TList对象。

详细说明

属性

TList::Capacity

__property int Capacity = {read=FCapacity,write=SetCapacity,nodefault};

标识TList对象维护的指针数组的大小。

设置Capacity为列表将要包含的指旬数。当当设置Capacity属性时,如果没有足够的内存扩展列表为它的新的大小,将产生EOutOfMemory异常。

在没有重新分配内存情况下,读取Capacity可得到列表能包含的对象数。注意不要混淆Capacity和Count属性;Count属性为列表中使用的项的数量。Capacity值总是大于或等于Count值。当Capacity大于Count,通过设定Capacity至Count可以回收未使用的内存。当添加一对象至列表,而此列表已被填充到Capacity时,Capacity属性自动增加。在增加对象之前设置Capacity能减少内存重分配的数量,因此提高了执行效果。例如:

List->Clear();

List->Capacity = Count;

for(int i=0;i<Count;i++) List->add(...);

在for循环之前分配Capacity保证在随后的每一Add操作不重新分配列表。在调用Add时避免重新分配可以提高执行效果并且保证Add操作不产生异常。

TList:;Count

__property int Count = {read=FCount,write=SetCount,nodefault};

表明在列表中使用的项的数量。

读取Count可以确定Items数组中项的数量。增加Count的大小将在Items数组的末尾增加必要的零指针的数量;减小Count的大小将从Items数组的末尾删除必要的零指针的数量。

注意:Count并不总等同于列表中引用的对象的数量。在Items数组中,某些项将包含零指针。如果要删除零指针并且设置Count为对象引用的项数,则可以调用Pack方法。