TList包含對象指針列表。
類關系 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方法。