package org.howsun.util;
/**
* 功能描述:
*
* @author howsun(howsun.zhang@google.com)
* @version 1.0.0
*/
public class BitMap{
private static final byte MAX = 127;
public static void main(String[] args) throws InterruptedException {
int m = 1578015112 ;
BitMap hm = new BitMap(12500000) ;
for(int i = 0; i < 12500; i++) {
hm.add(i) ;
}
System.out.println(hm.contains(Integer.MAX_VALUE));
}
public BitMap() {
bytes = new byte[12500000];
}
public BitMap(int size) {
bytes = new byte[size];
}
private byte[] bytes = null;
public void add(int i) {
int r = i / 8;
int c = i % 8;
bytes[r] = (byte) (bytes[r] | (1 << c));
}
public boolean contains(int i) {
int r = i / 8;
int c = i % 8;
if (((byte) ((bytes[r] >>> c)) & 1) == 1) {
return true;
}
return false;
}
public void remove(int i) {
int r = i / 8;
int c = i % 8;
bytes[r] = (byte) (bytes[r] & (((1 << (c + 1)) - 1) ^ MAX));
}
}