跟踪ArrayList或HashSet中的数据

时间:2017-03-09 01:19:14

标签: java

所以这个问题很简单。

我正在使用二进制值矩阵。我选择使用布尔数组的HashSet。我需要跟踪每列有多少个零和零。遍历矩阵的行来计算数据太昂贵了。在Java中执行此操作的最佳方法是什么?

我尝试了什么,问题是什么?

我扩展了HashSet并覆盖了HashSet的添加和删除方法。在添加/删除布尔数组之前,我只需更新一个跟踪所需数据的字段。一切似乎都很好,我用各种java方法来测试它是否正常工作(比如addAll,iterators等等)。我偶然发现了一个bug。

像这样的代码

for (Iterator<Row> iter = matrix.iterator(); iter.hasNext(); ) {
  iter.remove();
}

最终不会调用我的覆盖的添加或删除方法,因此我的字段中我保留每列中的1和0的计数将不会更新。

我想将每列计数1和0的此功能添加到现有数据结构中。

- 为了避免混淆,我用类Row替换了Boolean []。Row基本上是一个布尔值数组,带有一些其他方法,equals和hashCode。

0 个答案:

没有答案