TSet
- TSet也是键值容器和TMap类似,但速度快,无需提供单独的键进行关联元素,不允许有重复的键。
- TSet 也是值类型,支持常规复制、赋值和析构函数操作,以及其元素较强的所有权。集合被销毁时,其元素也将被销毁。键类型也必须是值类型
与TArray的区别:
- TSet是KV容器
- TSet不保证数据填充顺序。
- TSet数据存储时无法重复存储,TArray可以
构建、添加数据:
TSet<FString> set; set.Add(TEXT("set01"));// 添加内容 TSet<FString> set2; set2.Add(TEXT("set02")); set.Append(set2); // 合并操作
遍历:
for (auto& Item : set) { Item = TEXT("cg01");// 修改值 } for (auto It = set.CreateIterator(); It; ++It) { *It = TEXT("cg01");// 修改值 } for (auto It = set.CreateConstIterator(); It; ++It) { *It; // 可获取但无法修改 }
常用查询函数:
set.Num(); // 获取容器中元素的数量 // 检查是否包含给定的键值 返回布尔值 set.Contains(TEXT("set01")); // 返回指向元素的指针,没找到返回空 set.Find(TEXT("set01")); // 将TSet容器转为TArray容器 set.Array();
常用移除函数:
set.Remove(TEXT("set01")); // 使用给定的值内容 set.Empty(); // 清空容器,释放空间 set.Reset(); // 移除元素,但是不释放空间
标签:容器,set,set01,TSet,TEXT,元素,C++,UE From: https://www.cnblogs.com/limu-zy/p/16707625.html