Java编程中的HashSet和BitSet详解
Java编程中的HashSet和BitSet详解
我在Apache的开发邮件列表中发现一件很有趣的事,ApacheCommons包的ArrayUtils类的removeElements方法,原先使用的HashSet现在换成了BitSet。
HashSettoRemove=newHashSet (); for(Map.Entry e:occurrences.entrySet()){ Characterv=e.getKey(); intfound=0; for(inti=0,ct=e.getValue().intValue();i 新代码如下:
BitSettoRemove=newBitSet(); for(Map.Entrye:occurrences.entrySet()){ Characterv=e.getKey(); intfound=0; for(inti=0,ct=e.getValue().intValue();i 为什么会使用BitSet代替HashSet呢?
据ApacheCommons作者指出,这样代码执行时可以占用更少的内存,速度也更快。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!