TArray是存储相同类型数据的动态数组,具有速度快,内存消耗小,安全性高的特点。
使用代码示例如下:
//=======================================================================================
//初始化
TArray<int32> IntArray; // 创建一个空数组
//=======================================================================================
//增
//使用 Init 初始化数组
IntArray.Init(8, 5); // [8,8,8,8,8]
// 使用 Add 或 Emplace 添加数组元素
// Emplace 可以避免创建不必要的临时变量,效率比 Add 高。
IntArray.Add(5); // ==> [8,8,8,8,8,5]
IntArray.Emplace(3); // ==> [8,8,8,8,8,5,3]
TArray<int32> IntArrayB;
IntArrayB.Init(3, 2); // ==> [3,3]
int32 IntArrayC[] = {6, 6};
// 使用 Append 可以将其它的 TArray 或 常规数组 一次性添加在后面。
IntArray.Append(IntArrayB); // ==> [8,8,8,8,8,5,3,3,3]
IntArray.Append(IntArrayC, ARRAY_COUNT(IntArrayC)); // ==> [8,8,8,8,8,5,3,3,3,6,6]
// 使用 AddUnique 添加一个TArray中不存在的元素,如果已经存在则不会添加。
IntArray.AddUnique(1); // ==> [8,8,8,8,8,5,3,3,3,6,6,1]
IntArray.AddUnique(1); // ==> 无法添加
// 使用 Insert 在指定索引处插入元素。
IntArray.Insert(4, 1); // ==> [8,4,8,8,8,8,5,3,3,3,6,6,1]
// 使用 SetNum 设置 TArray 元素数量,如果大于当前数量,则使用元素类型的默认构造函数创建新元素,如果数量小于当前数量,则将移除多余的元素。
// 通常在初始化后分配一个数量。
IntArray.SetNum(5); // ==> [8,4,8,8,8]
IntArray.SetNum(8); // ==> [8,4,8,8,8,0,0,0]
//=======================================================================================
//删
// IntArray == [3,3,6,2,1,3,8,3,7,5]
// 使用 RemoveSingle 只会移除TArray中与传入元素相等的最靠前的一个元素。
IntArray.RemoveSingle(3) // ==>

本文详细介绍了Delphi中的TArray动态数组,包括其快速初始化、元素添加与删除、排序方法(如快速排序、堆排序)、查找功能以及遍历方式,展示了TArray在性能和内存管理上的优势。

2320

被折叠的 条评论
为什么被折叠?



