public class CountingBloomFilterMemory<T> extends java.lang.Object implements CountingBloomFilter<T>
Constructor and Description |
---|
CountingBloomFilterMemory(FilterBuilder config) |
Modifier and Type | Method and Description |
---|---|
long |
addAndEstimateCount(byte[] element)
Adds an element and returns its estimated frequency after the insertion (i.e. the number of times the element was
added to the filter).
|
void |
clear()
Removes all elements from the filter (i.e. resets all bits to zero).
|
CountingBloomFilterMemory<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).
|
protected long |
count(int index) |
protected long |
decrement(int index)
Decrements the internal counter upon deletion and unsets the Bloom filter bit if necessary.
|
boolean |
equals(java.lang.Object o) |
java.util.BitSet |
getBitSet()
Return the underyling bit vector of the Bloom filter.
|
long |
getEstimatedCount(T element)
Return the estimated count for an element using the Mininum Selection algorithm (i.e. by choosing the minimum
counter for the given element).
|
protected long |
increment(int index)
Increment the internal counter upon insertion of new elements.
|
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 |
long |
removeAndEstimateCount(byte[] element)
Removes an element and returns its estimated frequency after the insertion (i.e. the number of times the element
was added to the filter).
|
void |
setOverflowHandler(java.lang.Runnable callback) |
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, addAndEstimateCount, getCountingBits, remove, remove, removeAll, removeAndEstimateCount
add, addAll, asString, compatible, contains, contains, containsAll, getBitsPerElement, getBitZeroProbability, getEstimatedFalsePositiveProbability, getEstimatedPopulation, getExpectedElements, getFalsePositiveProbability, getFalsePositiveProbability, getHashes, getSize, hash, hash, population, remove, toBytes
public CountingBloomFilterMemory(FilterBuilder config)
public boolean contains(byte[] element)
BloomFilter
contains
in interface BloomFilter<T>
true
if the element is containedpublic long addAndEstimateCount(byte[] element)
CountingBloomFilter
addAndEstimateCount
in interface CountingBloomFilter<T>
element
- element to addpublic long removeAndEstimateCount(byte[] element)
CountingBloomFilter
removeAndEstimateCount
in interface CountingBloomFilter<T>
element
- element to removeprotected long increment(int index)
index
- position at which to increaseprotected long count(int index)
protected long decrement(int index)
index
- position at which to decreasepublic long getEstimatedCount(T element)
CountingBloomFilter
getEstimatedCount
in interface CountingBloomFilter<T>
element
- element to querypublic 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 java.lang.String toString()
toString
in class java.lang.Object
public CountingBloomFilterMemory<T> clone()
BloomFilter
clone
in interface BloomFilter<T>
clone
in interface CountingBloomFilter<T>
clone
in class java.lang.Object
public void clear()
BloomFilter
clear
in interface BloomFilter<T>
public java.util.BitSet getBitSet()
BloomFilter
getBitSet
in interface BloomFilter<T>
public FilterBuilder config()
BloomFilter
config
in interface BloomFilter<T>
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public void setOverflowHandler(java.lang.Runnable callback)