/** * Check results before sending them further. */ public void customIntermediateResultAvailable(E result) { if(filter.add(objectToByteArray(result))) { System.out.println("addfil: "+result+" "+filter.hashCode()); super.customIntermediateResultAvailable(result); } // else // { // System.out.println("Filtered out duplicate: "+result); // } }
/** * Main for testing. */ public static void main(String[] args) { byte[] value = new byte[]{9}; // BloomFilter bf = new BloomFilter(10, 2); BloomFilter bf = new BloomFilter(0.05, 1000); System.out.println(bf); System.out.println("Query for 9: " + bf.mightContain(value)); System.out.println("Adding 9"); bf.add(value); System.out.println("Query for 9: " + bf.mightContain(value)); } }