T
- public class CountingBloomFilterRedis<T> extends java.lang.Object implements CountingBloomFilter<T>
Constructor and Description |
---|
CountingBloomFilterRedis(FilterBuilder builder) |
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).
|
CountingBloomFilter<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) |
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).
|
java.lang.Double |
getEstimatedPopulation()
Estimates the current population of the Bloom filter (see: http://en.wikipedia.org/wiki/Bloom_filter#Approximating_the_number_of_items_in_a_Bloom_filter
)
|
protected RedisBitSet |
getRedisBitSet() |
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 |
void |
remove()
Destroys the Bloom filter by deleting its contents and metadata
|
boolean |
remove(byte[] value)
Removes the object from the counting bloom filter.
|
long |
removeAndEstimateCount(byte[] value)
Removes an element and returns its estimated frequency after the insertion (i.e. the number of times the element
was added to the filter).
|
boolean |
union(BloomFilter<T> other)
Performs the union operation on two compatible bloom filters.
|
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
add, addAndEstimateCount, getCountingBits, remove, removeAll, removeAndEstimateCount
add, addAll, asString, compatible, contains, contains, containsAll, getBitsPerElement, getBitZeroProbability, getEstimatedFalsePositiveProbability, getExpectedElements, getFalsePositiveProbability, getFalsePositiveProbability, getHashes, getSize, hash, hash, population, toBytes
public CountingBloomFilterRedis(FilterBuilder builder)
public long addAndEstimateCount(byte[] element)
CountingBloomFilter
addAndEstimateCount
in interface CountingBloomFilter<T>
element
- element to addpublic boolean remove(byte[] value)
CountingBloomFilter
remove
in interface CountingBloomFilter<T>
value
- object to be deletedtrue
if the element is not present after removalpublic long removeAndEstimateCount(byte[] value)
CountingBloomFilter
removeAndEstimateCount
in interface CountingBloomFilter<T>
value
- element to removepublic long getEstimatedCount(T element)
CountingBloomFilter
getEstimatedCount
in interface CountingBloomFilter<T>
element
- element to querypublic void clear()
BloomFilter
clear
in interface BloomFilter<T>
public void remove()
BloomFilter
remove
in interface BloomFilter<T>
public boolean contains(byte[] element)
BloomFilter
contains
in interface BloomFilter<T>
true
if the element is containedprotected RedisBitSet getRedisBitSet()
public java.util.BitSet getBitSet()
BloomFilter
getBitSet
in interface BloomFilter<T>
public FilterBuilder config()
BloomFilter
config
in interface BloomFilter<T>
public CountingBloomFilter<T> clone()
BloomFilter
clone
in interface BloomFilter<T>
clone
in interface CountingBloomFilter<T>
clone
in class java.lang.Object
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 java.lang.Double getEstimatedPopulation()
BloomFilter
getEstimatedPopulation
in interface BloomFilter<T>
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object