[发明专利]一种基于Java Set集合实现的算法优化方法有效
申请号: | 201811019606.4 | 申请日: | 2018-09-03 |
公开(公告)号: | CN109471635B | 公开(公告)日: | 2021-09-17 |
发明(设计)人: | 孟彦;章文友;朱静轩 | 申请(专利权)人: | 中新网络信息安全股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 合肥方舟知识产权代理事务所(普通合伙) 34158 | 代理人: | 刘跃 |
地址: | 230088 安徽省合肥*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 java set 集合 实现 算法 优化 方法 | ||
本发明涉及JAVA技术领域,具体涉及一种基于Java Set集合实现的算法优化方法,包括构造set集合并构造set集合中节点的内部类、通过所述内部类构造对象实体的内部接口、在所述内部接口设置存放集合的实际元素、所述内部接口设置所述实际元素的属性值、所述内部接口提供所述实际元素的获取方法、设置方法、比较方法、哈希值获取、构造哈希表、在所述哈希表内存储所述节点的对象、进行元素比较、在set集合的分支下单独再建集合、所述集合通过布隆过滤器进行大量字符串去重。本发明摒弃通过Map实现Set的方法,独立设计完成Set集合元素去重、存储方法,提高java代码的运行效率,降低java源码模块耦合度;单独实现大量字符串去重方法,降低内存使用。
技术领域
本发明涉及JAVA技术领域,具体涉及一种基于Java Set集合实现的算法优化方法。
背景技术
Java是当前软件系统研发最热们的编程语言之一,使用者十分庞大,Java Set是java中一种单元素集合,其特点就是元素惟一性。HashSet、inkedHashSet、TreeSet分别是三种Set的具体实现,其中HashSet存储去重方式是通过HashMap实现,TreeSet是通过TreeMap实现,LinkedHashSet是通过LinkedHashMap实现的。Java Set并没有针对于大量的字符元素去重工作时做相应的实际处理。
Java Set是java中一种单元素集合,其特点就是元素惟一性。HashSet、LinkedHashSet、TreeSet分别是三种Set的具体实现,但它们却都是通过Map进行元素去重、存储等操作,这使java两个顶级的接口之间关系错综复杂,而且在做大量的字符元素去重工作时,目前的Set时间效率和空间效率都不是很好,特别是在去重字符串的数量级达到百万以上,会浪费很多内存空间。
发明内容
本发明的目的在于克服现有技术中存在的问题,提供一种基于Java Set集合实现的算法优化方法,它可以实现独立设计完成Set集合元素去重、存储方法,提高java代码的运行效率,降低java源码模块耦合度;单独实现大量字符串去重方法,降低内存使用。
为实现上述技术目的,达到上述技术效果,本发明是通过以下技术方案实现的:
一种基于Java Set集合实现的算法优化方法,包括如下步骤:
步骤1、构造set集合并构造set集合中节点的内部类;
步骤2、通过所述内部类构造对象实体的内部接口;
步骤3、在所述内部接口设置存放集合的实际元素;
步骤4、所述内部接口设置所述实际元素的属性值;
步骤5、所述内部接口提供所述实际元素的获取方法、设置方法、比较方法、哈希值获取;
步骤6、构造哈希表;
步骤7、在所述哈希表内存储所述节点的对象;
步骤8、进行元素比较;
步骤9、在set集合的分支下单独再建集合;
步骤10、所述集合通过布隆过滤器进行大量字符串去重。
进一步地,所述步骤7在所述哈希表内存储所述节点的对象时,所述哈希表通过哈希值从大到小或者从小到大的顺序将所述节点的对象进行存储。
进一步地,所述步骤8进行元素比较时,通过二分法查找的方式进行对比。
进一步地,所述对比的策略为先通过元素地址比较,再通过元素值比较。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中新网络信息安全股份有限公司,未经中新网络信息安全股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811019606.4/2.html,转载请声明来源钻瓜专利网。