UE TMap TArray 遍历删除

简介: UE TMap TArray 遍历删除

UE TMap TArray 如果在正常遍历中,删除某一个值,然后还需要继续遍历,这样可能会造成内存异常,因为在遍历中删除只会照成遍历的顺序的混乱,所以如果需要一边遍历, 一边删除,则需要使用迭代器,这个和 c++ 的 vector map 是一样的道理。

TMap<int32, FString> MapTest;
  for ( TMap<int32, FString>::TIterator ItrMap(MapTest); ItrMap; ++ItrMap  )
  {
    // 删除指定数据
    if (ItrMap.Value().Equals(TEXT("删除数据")))
    {
      ItrMap.RemoveCurrent();
    }
  }
  TArray<FString> ArrayTest;
  for ( TArray<FString>::TIterator Itr(ArrayTest); Itr; ++Itr  )
  {
    // 删除指定数据
    if ((*Itr).Equals(TEXT("删除数据")))
    {
      Itr.RemoveCurrent();
    }
  }
相关文章
|
9月前
对List进行排序,值为null的排到最后
对List进行排序,值为null的排到最后
|
8天前
|
SQL XML Java
mybatis元素类型为 "resultMap" 的内容必须匹配 "(constructor?,id *,result*,association报错解决
mybatis元素类型为 "resultMap" 的内容必须匹配 "(constructor?,id *,result*,association报错解决
63 0
|
11月前
【TS】关于v-for数组对象遍历以及在页面上使用提示object类型的问题解决
【TS】关于v-for数组对象遍历以及在页面上使用提示object类型的问题解决
85 0
|
10月前
|
存储 缓存
直接映射缓存,全相联映射缓存,组相连映射与tag,index,offset的理解
直接映射缓存,全相联映射缓存,组相连映射与tag,index,offset的理解
160 0
|
存储 编译器 C++
【c++】:list模拟实现“任意位置插入删除我最强ƪ(˘⌣˘)ʃ“
【c++】:list模拟实现“任意位置插入删除我最强ƪ(˘⌣˘)ʃ“
73 0
批量遍历 list 中的元素
批量遍历 list 中的元素
82 0
批量遍历 list 中的元素
|
C++ 容器
【C++要笑着学】list 常用接口介绍 | 支持任意位置O(1)插入删除的顺序容器 list(二)
一听 list ,我们就知道是个双向带头循环链表。list 在实际的运用中用的没有 vector 多,包括大家在刷题的时候 list 也出现的很少,因为 list 不支持随机访问,有很多数据堆在那里你可能还需要排序一下,list 要排序,就是一个大问题,所以用 vector 的情况较多。
132 1
【C++要笑着学】list 常用接口介绍 | 支持任意位置O(1)插入删除的顺序容器 list(二)
|
存储 C++ 容器
【C++要笑着学】list 常用接口介绍 | 支持任意位置O(1)插入删除的顺序容器 list(一)
一听 list ,我们就知道是个双向带头循环链表。list 在实际的运用中用的没有 vector 多,包括大家在刷题的时候 list 也出现的很少,因为 list 不支持随机访问,有很多数据堆在那里你可能还需要排序一下,list 要排序,就是一个大问题,所以用 vector 的情况较多。
170 0
【C++要笑着学】list 常用接口介绍 | 支持任意位置O(1)插入删除的顺序容器 list(一)
76. List如何一边遍历,一边删除
76. List如何一边遍历,一边删除
121 0
76. List如何一边遍历,一边删除