public class BloomFilterMemory<T> extends java.lang.Object implements BloomFilter<T>
Modifier and Type | Field and Description |
---|---|
protected java.util.BitSet |
bloom |
Constructor and Description |
---|
BloomFilterMemory(FilterBuilder config) |
Modifier and Type | Method and Description |
---|---|
boolean |
add(byte[] element)
Adds the passed value to the filter.
|
void |
clear()
Removes all elements from the filter (i.e. resets all bits to zero).
|
BloomFilter<T> |
clone()
Constructs a deep copy of the Bloom filter
|
FilterBuilder |
config()
Returns the configuration/builder of the Bloom filter.
|
boolean |
contains(byte[] element)
Tests whether an element is present in the filter (subject to the specified false positive rate).
|
boolean |
equals(java.lang.Object o) |
protected boolean |
getBit(int index) |
java.util.BitSet |
getBitSet()
Return the underyling bit vector of the Bloom filter.
|
boolean |
intersect(BloomFilter<T> other)
Performs the intersection operation on two compatible bloom filters.
|
boolean |
isEmpty()
Returns
true if the Bloom filter does not contain any elements |
protected void |
setBit(int index,
boolean to) |
java.lang.String |
toString() |
boolean |
union(BloomFilter<T> other)
Performs the union operation on two compatible bloom filters.
|
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
add, addAll, asString, compatible, contains, contains, containsAll, getBitsPerElement, getBitZeroProbability, getEstimatedFalsePositiveProbability, getEstimatedPopulation, getExpectedElements, getFalsePositiveProbability, getFalsePositiveProbability, getHashes, getSize, hash, hash, population, remove, toBytes
public BloomFilterMemory(FilterBuilder config)
public FilterBuilder config()
BloomFilter
config
in interface BloomFilter<T>
public boolean add(byte[] element)
BloomFilter
add
in interface BloomFilter<T>
element
- value to addtrue
if the value did not previously exist in the filter. Note, that a false positive may occur,
thus the value may not have already been in the filter, but it hashed to a set of bits already in the filter.public void clear()
BloomFilter
clear
in interface BloomFilter<T>
public boolean contains(byte[] element)
BloomFilter
contains
in interface BloomFilter<T>
true
if the element is containedprotected boolean getBit(int index)
protected void setBit(int index, boolean to)
public java.util.BitSet getBitSet()
BloomFilter
getBitSet
in interface BloomFilter<T>
public boolean union(BloomFilter<T> other)
BloomFilter
union
in interface BloomFilter<T>
other
- the other bloom filterpublic boolean intersect(BloomFilter<T> other)
BloomFilter
intersect
in interface BloomFilter<T>
other
- the other bloom filterpublic boolean isEmpty()
BloomFilter
true
if the Bloom filter does not contain any elementsisEmpty
in interface BloomFilter<T>
true
if the Bloom filter does not contain any elementspublic BloomFilter<T> clone()
BloomFilter
clone
in interface BloomFilter<T>
clone
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object