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