首页 > 其他分享 >关于 UE4 TMap 的几种遍历方式

关于 UE4 TMap 的几种遍历方式

时间:2023-05-14 22:55:42浏览次数:51  
标签:TMap 遍历 LOG TEXT LogTemp ShowMap Map1 Key UE4

测试数据

1     TMap<int32, FString> Map1;
2     TMap<int32, FString> Map2;
3 
4     Map1.Add(1, TEXT("AAA"));
5 
6     ShowMap_1(Map1, 1);
7     ShowMap_2(Map1, 1);
8     ShowMap_3(Map1, 1);

 

 

1. 通过 Key 直接查找 Map

 1     // 通过 Key 直接查找 Map
 2     auto ShowMap_1 = [](const TMap<int32, FString> Value, int32 Key)->void
 3     {
 4         if (Value.Contains(Key))
 5         {
 6             UE_LOG(LogTemp, Display, TEXT("Key is %d value is: %s"), Key, *Value[Key]);
 7         }
 8         else
 9         {
10             UE_LOG(LogTemp, Display, TEXT("Key %d is error"), Key);
11         }
12     };

 

1     // 调用
2     ShowMap_1(Map1, 1);
3     ShowMap_1(Map1, 2);

 

 

2. 通过 Find 查找 Map

 1 auto ShowMap_2 = [](const TMap<int32, FString> Value, int32 Key)->void
 2     {
 3         if (Value.Contains(Key))
 4         {
 5             const FString* Vall = Value.Find(Key);
 6             if (Vall != nullptr)
 7             {
 8                 UE_LOG(LogTemp, Display, TEXT("Key is %d value is: %s"), Key, Vall->operator*());
 9             }
10             else
11             {
12                 UE_LOG(LogTemp, Display, TEXT("Key %d Ptr error"), Key);
13             }
14         }
15         else
16         {
17             UE_LOG(LogTemp, Display, TEXT("Key %d is error"), Key);
18         }
19     };

 

1     // 调用
2     ShowMap_2(Map1, 1);
3     ShowMap_2(Map1, 2);

 

 

 

3. 通过 FindRef 查找 Map

 1     auto ShowMap_3 = [](const TMap<int32, FString> Value, int32 Key)->void
 2     {
 3         if (Value.Contains(Key))
 4         {
 5             const FString Vall = Value.FindRef(Key);
 6             if (&Vall != nullptr)
 7             {
 8                 // UE_LOG(LogTemp, Display, TEXT("Key is %d value is: %s"), Key, *Vall);     两种方式都可以
 9                 UE_LOG(LogTemp, Display, TEXT("Key is %d value is: %s"), Key, Vall.operator*());
10             }
11             else
12             {
13                 UE_LOG(LogTemp, Display, TEXT("Key %d Ptr error"), Key);
14             }
15         }
16         else
17         {
18             UE_LOG(LogTemp, Display, TEXT("Key %d is error"), Key);
19         }
20     };

 

1     // 调用
2     ShowMap_3(Map1, 1);
3     ShowMap_3(Map1, 2);

 

 

标签:TMap,遍历,LOG,TEXT,LogTemp,ShowMap,Map1,Key,UE4
From: https://www.cnblogs.com/CooCoChoco/p/16596537.html

相关文章

  • 关于 UE4 TMap
    1.前一篇关于通过Key查找Value的部分:1. 通过Key直接查找Map2. 通过Find查找Map3. 通过FindRef查找Map 2. 通过Value查找KeyFindKey(Value)1autoValFindKey=[](constTMap<int32,FString>MapType,FStringValue)->void2{3......
  • 关于 UE4 的 TArray
    TArray,是UE4的可动态扩容数组容器,是UE4里最常见,也是用的最多的一种容器,类似于STL中的vector 1.遍历Array的三种方法1.1下标遍历Array(lambda写法)1//下标法遍历Array2autoForeach_1=[](TArray<int32>_arr)->void3{4for(int32i=0;i<_arr......
  • 关于 UE4 的 TSet
    TSet是一种快速容器类,(通常)用于在排序不重要的情况下存储唯一元素。TSet类似于TMap和TMultiMap,但有一个重要区别:TSet是通过对元素求值的可覆盖函数,使用数据值本身作为键,而不是将数据值与独立的键相关联。TSet可以非常快速地添加、查找和删除元素。默认情况下,TSet不支持重......
  • #yyds干货盘点# LeetCode程序员面试金典:二叉树的层序遍历
    题目:给你二叉树的根节点root,返回其节点值的层序遍历。(即逐层地,从左到右访问所有节点)。 示例1:输入:root=[3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]示例2:输入:root=[1]输出:[[1]]示例3:输入:root=[]输出:[]代码实现:classSolution{publicList<List<Integer>>......
  • 关于 Delphi 中流的使用 遍历读取流中的所有数据
    unitUnit1;interfaceuses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Dialogs,StdCtrls;type TForm1=class(TForm)  Memo1:TMemo;  Memo2:TMemo;{需要添加两个Memo用于显示}  Button1:TButton;  ......
  • ResultMap详解
    前言MyBatis是基于“数据库结构不可控”的思想建立的,也就是我们希望数据库遵循第三范式或BCNF,但实际事与愿违,那么结果集映射就是MyBatis为我们提供这种理想与现实间转换的手段了,而resultMap就是结果集映射的配置标签了。在深入ResultMap标签前,我们需要了解从SQL查询结果集到JavaB......
  • Golang for循环遍历小坑
    一、for循环循环:让程序多次执行相同的代码块for循环是Go语言中唯一一个循环结构for循环经典语法先执行表达式1执行表达式2判断是否成立,如果成立执行循环体循环体执行完成后,执行表达式3再次执行表达式2,判断是否成立.for循环用的最多的地方就是遍历数组或切片等for表达式1......
  • freemarker在xml文件中遍历list数据
    delete   frompub_channelpackage   wherechannelcode=:channelcode   andchanneltype=:channeltype   <#ifpackids?exists&&packids??>    andpackidin(         <#listpackidsaspackageId>     ${packageId}<#ifpackageId_has_n......
  • 遍历文件
    importjava.io.File;publicclassFileTraversal{publicstaticvoidmain(String[]args){//要遍历的文件路径StringfilePath="C:\\Users\\username\\Documents";//创建File对象,代表要遍历的目录或文件Filefile=newFile(filePath);/......
  • delphi 遍历枚举、获取枚举值的名称
    遍历枚举、获取枚举值的名称代码遍历枚举usesSystem.TypInfo;procedureTForm1.Button1Click(Sender:TObject);varI:TAlign;beginforI:=Low(TAlign)toHigh(TAlign)dobeginMemo1.Lines.Add('名称'+GetEnumName(TypeInfo(TAlign),Ord(I))+'值......