[发明专利]一种遍历数据的方法及终端有效
申请号: | 201810305494.2 | 申请日: | 2018-04-08 |
公开(公告)号: | CN110347372B | 公开(公告)日: | 2022-07-05 |
发明(设计)人: | 刘德建;徐勇光;林琛 | 申请(专利权)人: | 福建省天奕网络科技有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20 |
代理公司: | 福州市博深专利事务所(普通合伙) 35214 | 代理人: | 林志峥 |
地址: | 350212 福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 遍历 数据 方法 终端 | ||
本发明公开一种遍历数据的方法及终端,自定义一泛型的枚举器,并将系统默认的枚举器的获取接口私有化,将所述泛型的枚举器的获取接口公开,在遍历List集合中的数据时,确定所遍历到的数据的类型,设置返回的泛型的枚举器的类型为与所述遍历到的数据相同的类型,通过将系统默认的枚举器的获取接口私有化,将所述泛型的枚举器的获取接口公开,保证返回的是自定义的泛型的枚举器,并且由于泛型的枚举器的类型是可以在返回时再根据遍历到的数据的类型设置,指定了类型后枚举器的类型与遍历到的数据类型相同,就不需要进行Box装箱操作,也就不会产生GC,从而提高了系统性能。
技术领域
本发明涉及软件开发领域,尤其涉及一种遍历数据的方法及终端。
背景技术
在Unity3D的开发过程中,无法避免需要使用List集合存储数据,使用遍历List获得每一个数据。而Unity系统的泛型List存在着产生内存垃圾的问题,当List存储的是值类型时,由于.net的List集合使用的系统默认枚举器返回的是object类型,它在finally中回收枚举器时就需要进行装箱Box操作,也就是将值类型转换为object类型,这样就产生了内存垃圾,从而导致内存垃圾收集GC,影响程序性能。
发明内容
本发明所要解决的技术问题是:提高一种遍历数据的方法及终端,能够避免在使用List遍历数据时,产生GC。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种遍历数据的方法,包括步骤:
S1、自定义一泛型的枚举器,并将系统默认的枚举器的获取接口私有化,将所述泛型的枚举器的获取接口公开;
S2、确定遍历的List集合中的数据的类型,设置返回的所述泛型的枚举器的类型为与遍历的List集合中的数据相同的类型。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种遍历数据的终端,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1、自定义一泛型的枚举器,并将系统默认的枚举器的获取接口私有化,将所述泛型的枚举器的获取接口公开;
S2、确定遍历的List集合中的数据的类型,设置返回的所述泛型的枚举器的类型为与遍历的List集合中的数据相同的类型。
本发明的有益效果在于:自定义一泛型的枚举器,并将系统默认的枚举器的获取接口私有化,将所述泛型的枚举器的获取接口公开,在遍历List集合中的数据时,确定所遍历到的数据的类型,设置返回的泛型的枚举器的类型为与所述遍历到的数据相同的类型,通过将系统默认的枚举器的获取接口私有化,将所述泛型的枚举器的获取接口公开,保证返回的是自定义的泛型的枚举器,并且由于泛型的枚举器的类型是可以在返回时再根据遍历到的数据的类型设置,指定了类型后枚举器的类型与遍历到的数据类型相同,就不需要进行Box装箱操作,也就不会产生GC,从而提高了系统性能。
附图说明
图1为本发明实施例的一种遍历数据的方法流程图;
图2为本发明实施例的一种遍历数据的终端的结构示意图;
图3为本发明实施例建立的一种数据结构图;
图4为本发明实施例建立的一种数据结构图;
图5为本发明实施例的用系统默认返回的枚举器的仿真结果图;
图6为本发明实施例的用自定义的泛型的枚举器的仿真结果图;
标号说明:
1、一种遍历数据的终端;2、存储器;3、处理器。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建省天奕网络科技有限公司,未经福建省天奕网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810305494.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置