全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Java编程中的HashSet和BitSet详解

Java编程中的HashSet和BitSet详解

我在Apache的开发邮件列表中发现一件很有趣的事,Apache Commons包的ArrayUtils类的removeElements方法,原先使用的HashSet现在换成了BitSet。

HashSet<Integer> toRemove = new HashSet<Integer>(); 
for (Map.Entry<Character, MutableInt> e : occurrences.entrySet()) { 
  Character v = e.getKey(); 
  int found = 0; 
  for (int i = 0, ct = e.getValue().intValue(); i < ct; i++) { 
    found = indexOf(array, v.charValue(), found); 
    if (found < 0) { 
      break; 
    } 
    toRemove.add(found++); 
  } 
} 
 
 
return (char[]) removeAll((Object)array, extractIndices(toRemove)); 

新代码如下:

BitSet toRemove = new BitSet(); 
for (Map.Entry<Character, MutableInt> e : occurrences.entrySet()) { 
  Character v = e.getKey(); 
  int found = 0; 
  for (int i = 0, ct = e.getValue().intValue(); i < ct; i++) { 
    found = indexOf(array, v.charValue(), found); 
    if (found < 0) { 
      break; 
    } 
    toRemove.set(found++); 
  } 
} 
return (char[]) removeAll(array, toRemove); 

为什么会使用BitSet代替HashSet呢?

据Apache Commons作者指出,这样代码执行时可以占用更少的内存,速度也更快。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Java编程中的HashSet和BitSet  # Java中的HashSet与BitSet详解  # 浅析Java中Map与HashMap  # Hashtable  # HashSet的区别  # Java中HashMap和Hashtable及HashSet的区别  # HashMap 和 HashSet的区别  # Java中的HashSet详解和使用示例_动力节点Java学院整理  # java 中HashMap、HashSet、TreeMap、TreeSet判断元素相同的几种方法比较  # hashset去除重复值原理实例解析  # HashSet和TreeSet使用方法的区别解析  # 详解Java中HashSet和TreeSet的区别  # 一次因HashSet引起的并发问题详解  # 我在  # 希望能  # 更快  # 谢谢大家  # 很有趣  # 更少  # 换成了  # 列表中  # class  # brush  # toRemove  # pre  # java  # lt  # gt  # Integer  # br  # HashSet  # BitSet  # strong 


相关文章: 济南网站制作的价格,历城一职专官方网站?  网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?  建站之星安装模板失败:服务器环境不兼容?  如何在IIS服务器上快速部署高效网站?  Python文件管理规范_工程实践说明【指导】  零服务器AI建站解决方案:快速部署与云端平台低成本实践  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  Swift开发中switch语句值绑定模式  Python路径拼接规范_跨平台处理说明【指导】  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  高性价比服务器租赁——企业级配置与24小时运维服务  盐城做公司网站,江苏电子版退休证办理流程?  家庭服务器如何搭建个人网站?  杭州银行网站设计制作流程,杭州银行怎么开通认证方式?  如何通过万网虚拟主机快速搭建网站?  相册网站制作软件,图片上的网址怎么复制?  建站之星免费版是否永久可用?  如何确保西部建站助手FTP传输的安全性?  如何在服务器上配置二级域名建站?  建站之星后台密码如何安全设置与找回?  网站按钮制作软件,如何实现网页中按钮的自动点击?  宝塔建站无法访问?如何排查配置与端口问题?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  营销式网站制作方案,销售哪个网站招聘效果最好?  网站制作报价单模板图片,小松挖机官方网站报价?  如何高效配置香港服务器实现快速建站?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  已有域名如何免费搭建网站?  如何通过PHP快速构建高效问答网站功能?  如何通过服务器快速搭建网站?完整步骤解析  如何快速搭建安全的FTP站点?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站之星多图banner生成与模板自定义指南  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  网页设计网站制作软件,microsoft office哪个可以创建网页?  小型网站建站如何选择虚拟主机?  网站制作企业,网站的banner和导航栏是指什么?  已有域名和空间如何快速搭建网站?  如何选择网络建站服务器?高效建站必看指南  如何用免费手机建站系统零基础打造专业网站?  定制建站价位费用解析与套餐推荐全攻略  Swift中switch语句区间和元组模式匹配  建站之星安装后如何自定义网站颜色与字体?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  建站之星如何快速更换网站模板?  内部网站制作流程,如何建立公司内部网站?  如何制作网站标识牌,动态网站如何制作(教程)?  实例解析Array和String方法 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。