UE4基础:容器(一)动态数组TArray(补充FindByPredicate)

UE4自己封装的这套泛型容器使用起来非常方便,本文仅记录其中动态数组TArray的基本用法,还有更多的功能后面会陆续补充。

概要

动态数组TArray可以当作数组使用也可以直接充当链表、队列以及栈。在游戏开发中使用非常广泛。

声明

	TArray<int> Ints;//调用默认构造函数

添加

	Ints.Add(1);
	Ints.Add(2);
	Ints.Add(3);
	Ints.Add(4);
	Ints.Add(5);
	Ints.Add(6);
	Ints.Add(7);
	Ints.Add(8);
	Ints.Add(8);
	Ints.Add(9);
	Ints.AddUnique(9);
	Ints.Add(10);
  • Add是简单添加
  • AddUnique是当容器中不存在该元素再添加

删除

	Ints.Remove(8);
  • 不可以一边迭代一边删除
  • 如果有重复元素,重复元素都会被删除

更复杂的删除

如果想要删除满足某一条件的所有元素,可以使用RemoveAll

Ints.RemoveAll([](int V) {
    return V % 2 == 0;
});

修改

	Ints[4] = 100;

查找

	if(Ints.Contains(2))
	{
		UE_LOG(LogTemp,Warning,TEXT("2 found!"));
	}

高级查找

	int* Even = Ints.FindByPredicate([](int V)
	{
		return V % 2 == 0;
	});

	UE_LOG(LogTemp,Warning,TEXT("%d"),*Even);

遍历

	for (auto I: Ints)
	{
		UE_LOG(LogTemp,Warning,TEXT("%d"),I);
	}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章