问题:

判断一个数是否在大数据中存在

分析

适用set或者map时,每个int都会占用32位,资源和速度都不太好,可以使用位来解决。
ps:如果是小数或者文本怎么办呢?

适用情况:

n个int数,最大值为max

如果 n*32 > max,则使用BItmap去重效果很好。

  1. public static void main(String[] args) {
  2. int[] array = new int[]{1, 2, 3, 22, 0, 3};
  3. BitSet bitSet = new BitSet(4);
  4. for (int i = 0; i < array.length; i++) {
  5. bitSet.set(array[i], true);
  6. }
  7. System.out.println(bitSet.size());
  8. System.out.println(bitSet.get(3));
  9. }
  10. 64
  11. true

这短短的一生我们最终都会失去,不放大胆一点,爱一个人、攀一座山、追一个梦!