UE4 中 TMap<>与TArray<>的全遍历,及带条件删除

2024-02-05 10:20

本文主要是介绍UE4 中 TMap<>与TArray<>的全遍历,及带条件删除,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、UE4 中,TMap<int32,int32> 正向遍历,带条件删除。

注意点:在调用 Remove(it->Key);之后,it 并不会自​​​​​​​动往后移动,仍然需要调用 ++it,才会指向下一个值。

	// TMap<> 正向遍历,带条件删除。TMap<int32, int32> aaaa;aaaa.Add(1, 2);aaaa.Add(16, 2);aaaa.Add(7, 2);aaaa.Add(5, 2);aaaa.Add(26, 2);aaaa.Add(2, 2);aaaa.Add(4, 2);aaaa.Add(8, 2);aaaa.Add(6, 2);TMap<int32, int32>::TIterator it = aaaa.CreateIterator();for (; it; ++it){int32 nn = it->Key;if (it->Key == 7 || it->Key == 2 || it->Key == 8){aaaa.Remove(it->Key);}}

二、UE4 中,TArray<> 正向遍历,带条件删除。

注意点:在调用 RemoveAt(i) 之后,不能执行 i++,否则会漏掉一个元素的访问。

	// TArray<> 正向遍历,带条件删除。TArray<int32> ArrInt = { 3,6,1,3,7,2,9,8,6 };for (int32 i = 0; i < ArrInt.Num();){int32 nTemp = ArrInt[i];if (nTemp == 1 || nTemp == 7 || nTemp == 8){ArrInt.RemoveAt(i);continue;}i++;}

三、UE4 中,TArray<> 逆向遍历,带条件删除。

注意点:这里删除后,没有特殊操作,也是推荐的删除方法。

	// TArray<> 逆向遍历,带条件删除。TArray<int32> ArrIntR = { 3,6,1,3,7,2,9,8,6 };for (int32 j = ArrIntR.Num() - 1; j >= 0; j--){int32 nTemp = ArrIntR[j];if (nTemp == 1 || nTemp == 7 || nTemp == 8){ArrIntR.RemoveAt(j);}}

这篇关于UE4 中 TMap<>与TArray<>的全遍历,及带条件删除的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/680602

相关文章

redis过期key的删除策略介绍

《redis过期key的删除策略介绍》:本文主要介绍redis过期key的删除策略,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录第一种策略:被动删除第二种策略:定期删除第三种策略:强制删除关于big key的清理UNLINK命令FLUSHALL/FLUSHDB命

Java中Switch Case多个条件处理方法举例

《Java中SwitchCase多个条件处理方法举例》Java中switch语句用于根据变量值执行不同代码块,适用于多个条件的处理,:本文主要介绍Java中SwitchCase多个条件处理的相... 目录前言基本语法处理多个条件示例1:合并相同代码的多个case示例2:通过字符串合并多个case进阶用法使用

SpringBoot条件注解核心作用与使用场景详解

《SpringBoot条件注解核心作用与使用场景详解》SpringBoot的条件注解为开发者提供了强大的动态配置能力,理解其原理和适用场景是构建灵活、可扩展应用的关键,本文将系统梳理所有常用的条件注... 目录引言一、条件注解的核心机制二、SpringBoot内置条件注解详解1、@ConditionalOn

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

SpringIntegration消息路由之Router的条件路由与过滤功能

《SpringIntegration消息路由之Router的条件路由与过滤功能》本文详细介绍了Router的基础概念、条件路由实现、基于消息头的路由、动态路由与路由表、消息过滤与选择性路由以及错误处理... 目录引言一、Router基础概念二、条件路由实现三、基于消息头的路由四、动态路由与路由表五、消息过滤

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

C++原地删除有序数组重复项的N种方法

《C++原地删除有序数组重复项的N种方法》给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度,不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(... 目录一、问题二、问题分析三、算法实现四、问题变体:最多保留两次五、分析和代码实现5.1、问题分析5.

SQL Server清除日志文件ERRORLOG和删除tempdb.mdf

《SQLServer清除日志文件ERRORLOG和删除tempdb.mdf》数据库再使用一段时间后,日志文件会增大,特别是在磁盘容量不足的情况下,更是需要缩减,以下为缩减方法:如果可以停止SQLSe... 目录缩减 ERRORLOG 文件(停止服务后)停止 SQL Server 服务:找到错误日志文件:删除