UE常用容器之TArray

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

        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) // ==>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值