blob: 2dd25ee42027eb93ae63c3518f6eeafc9f464f11 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_292) on Tue Jun 15 06:00:49 GMT 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>CountingBloomFilter (Apache Hadoop Main 3.3.1 API)</title>
<meta name="date" content="2021-06-15">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="CountingBloomFilter (Apache Hadoop Main 3.3.1 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/CountingBloomFilter.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/util/bloom/BloomFilter.html" title="class in org.apache.hadoop.util.bloom"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/util/bloom/DynamicBloomFilter.html" title="class in org.apache.hadoop.util.bloom"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/util/bloom/CountingBloomFilter.html" target="_top">Frames</a></li>
<li><a href="CountingBloomFilter.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.hadoop.util.bloom.Filter">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.hadoop.util.bloom</div>
<h2 title="Class CountingBloomFilter" class="title">Class CountingBloomFilter</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.util.bloom.Filter</li>
<li>
<ul class="inheritance">
<li>org.apache.hadoop.util.bloom.CountingBloomFilter</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/apache/hadoop/io/Writable.html" title="interface in org.apache.hadoop.io">Writable</a></dd>
</dl>
<hr>
<br>
<pre>@InterfaceAudience.Public
@InterfaceStability.Stable
public final class <span class="typeNameLabel">CountingBloomFilter</span>
extends org.apache.hadoop.util.bloom.Filter</pre>
<div class="block">Implements a <i>counting Bloom filter</i>, as defined by Fan et al. in a ToN
2000 paper.
<p>
A counting Bloom filter is an improvement to standard a Bloom filter as it
allows dynamic additions and deletions of set membership information. This
is achieved through the use of a counting vector instead of a bit vector.
<p>
Originally created by
<a href="http://www.one-lab.org">European Commission One-Lab Project 034819</a>.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>The general behavior of a filter</code>,
<a href="http://portal.acm.org/citation.cfm?id=343571.343572">Summary cache: a scalable wide-area web cache sharing protocol</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.util.bloom.Filter">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.hadoop.util.bloom.Filter</h3>
<code>hash, hashType, nbHash, vectorSize</code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/util/bloom/CountingBloomFilter.html#CountingBloomFilter--">CountingBloomFilter</a></span>()</code>
<div class="block">Default constructor - use with readFields</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/util/bloom/CountingBloomFilter.html#CountingBloomFilter-int-int-int-">CountingBloomFilter</a></span>(int&nbsp;vectorSize,
int&nbsp;nbHash,
int&nbsp;hashType)</code>
<div class="block">Constructor</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/util/bloom/CountingBloomFilter.html#add-org.apache.hadoop.util.bloom.Key-">add</a></span>(org.apache.hadoop.util.bloom.Key&nbsp;key)</code>
<div class="block">Adds a key to <i>this</i> filter.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/util/bloom/CountingBloomFilter.html#and-org.apache.hadoop.util.bloom.Filter-">and</a></span>(org.apache.hadoop.util.bloom.Filter&nbsp;filter)</code>
<div class="block">Peforms a logical AND between <i>this</i> filter and a specified filter.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/util/bloom/CountingBloomFilter.html#approximateCount-org.apache.hadoop.util.bloom.Key-">approximateCount</a></span>(org.apache.hadoop.util.bloom.Key&nbsp;key)</code>
<div class="block">This method calculates an approximate count of the key, i.e.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/util/bloom/CountingBloomFilter.html#delete-org.apache.hadoop.util.bloom.Key-">delete</a></span>(org.apache.hadoop.util.bloom.Key&nbsp;key)</code>
<div class="block">Removes a specified key from <i>this</i> counting Bloom filter.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/util/bloom/CountingBloomFilter.html#membershipTest-org.apache.hadoop.util.bloom.Key-">membershipTest</a></span>(org.apache.hadoop.util.bloom.Key&nbsp;key)</code>
<div class="block">Determines wether a specified key belongs to <i>this</i> filter.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/util/bloom/CountingBloomFilter.html#not--">not</a></span>()</code>
<div class="block">Performs a logical NOT on <i>this</i> filter.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/util/bloom/CountingBloomFilter.html#or-org.apache.hadoop.util.bloom.Filter-">or</a></span>(org.apache.hadoop.util.bloom.Filter&nbsp;filter)</code>
<div class="block">Peforms a logical OR between <i>this</i> filter and a specified filter.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/util/bloom/CountingBloomFilter.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
<div class="block">Deserialize the fields of this object from <code>in</code>.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/util/bloom/CountingBloomFilter.html#toString--">toString</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/util/bloom/CountingBloomFilter.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
<div class="block">Serialize the fields of this object to <code>out</code>.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/util/bloom/CountingBloomFilter.html#xor-org.apache.hadoop.util.bloom.Filter-">xor</a></span>(org.apache.hadoop.util.bloom.Filter&nbsp;filter)</code>
<div class="block">Peforms a logical XOR between <i>this</i> filter and a specified filter.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.hadoop.util.bloom.Filter">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.hadoop.util.bloom.Filter</h3>
<code>add, add, add</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="CountingBloomFilter--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CountingBloomFilter</h4>
<pre>public&nbsp;CountingBloomFilter()</pre>
<div class="block">Default constructor - use with readFields</div>
</li>
</ul>
<a name="CountingBloomFilter-int-int-int-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CountingBloomFilter</h4>
<pre>public&nbsp;CountingBloomFilter(int&nbsp;vectorSize,
int&nbsp;nbHash,
int&nbsp;hashType)</pre>
<div class="block">Constructor</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>vectorSize</code> - The vector size of <i>this</i> filter.</dd>
<dd><code>nbHash</code> - The number of hash function to consider.</dd>
<dd><code>hashType</code> - type of the hashing function (see
<code>Hash</code>).</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="add-org.apache.hadoop.util.bloom.Key-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre>public&nbsp;void&nbsp;add(org.apache.hadoop.util.bloom.Key&nbsp;key)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.util.bloom.Filter</code></span></div>
<div class="block">Adds a key to <i>this</i> filter.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>add</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.util.bloom.Filter</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - The key to add.</dd>
</dl>
</li>
</ul>
<a name="delete-org.apache.hadoop.util.bloom.Key-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>delete</h4>
<pre>public&nbsp;void&nbsp;delete(org.apache.hadoop.util.bloom.Key&nbsp;key)</pre>
<div class="block">Removes a specified key from <i>this</i> counting Bloom filter.
<p>
<b>Invariant</b>: nothing happens if the specified key does not belong to <i>this</i> counter Bloom filter.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - The key to remove.</dd>
</dl>
</li>
</ul>
<a name="and-org.apache.hadoop.util.bloom.Filter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>and</h4>
<pre>public&nbsp;void&nbsp;and(org.apache.hadoop.util.bloom.Filter&nbsp;filter)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.util.bloom.Filter</code></span></div>
<div class="block">Peforms a logical AND between <i>this</i> filter and a specified filter.
<p>
<b>Invariant</b>: The result is assigned to <i>this</i> filter.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>and</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.util.bloom.Filter</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filter</code> - The filter to AND with.</dd>
</dl>
</li>
</ul>
<a name="membershipTest-org.apache.hadoop.util.bloom.Key-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>membershipTest</h4>
<pre>public&nbsp;boolean&nbsp;membershipTest(org.apache.hadoop.util.bloom.Key&nbsp;key)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.util.bloom.Filter</code></span></div>
<div class="block">Determines wether a specified key belongs to <i>this</i> filter.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>membershipTest</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.util.bloom.Filter</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - The key to test.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>boolean True if the specified key belongs to <i>this</i> filter.
False otherwise.</dd>
</dl>
</li>
</ul>
<a name="approximateCount-org.apache.hadoop.util.bloom.Key-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>approximateCount</h4>
<pre>public&nbsp;int&nbsp;approximateCount(org.apache.hadoop.util.bloom.Key&nbsp;key)</pre>
<div class="block">This method calculates an approximate count of the key, i.e. how many
times the key was added to the filter. This allows the filter to be
used as an approximate <code>key -&gt; count</code> map.
<p>NOTE: due to the bucket size of this filter, inserting the same
key more than 15 times will cause an overflow at all filter positions
associated with this key, and it will significantly increase the error
rate for this and other keys. For this reason the filter can only be
used to store small count values <code>0 &lt;= N &lt;&lt; 15</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - key to be tested</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>0 if the key is not present. Otherwise, a positive value v will
be returned such that <code>v == count</code> with probability equal to the
error rate of this filter, and <code>v &gt; count</code> otherwise.
Additionally, if the filter experienced an underflow as a result of
<a href="../../../../../org/apache/hadoop/util/bloom/CountingBloomFilter.html#delete-org.apache.hadoop.util.bloom.Key-"><code>delete(Key)</code></a> operation, the return value may be lower than the
<code>count</code> with the probability of the false negative rate of such
filter.</dd>
</dl>
</li>
</ul>
<a name="not--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>not</h4>
<pre>public&nbsp;void&nbsp;not()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.util.bloom.Filter</code></span></div>
<div class="block">Performs a logical NOT on <i>this</i> filter.
<p>
The result is assigned to <i>this</i> filter.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>not</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.util.bloom.Filter</code></dd>
</dl>
</li>
</ul>
<a name="or-org.apache.hadoop.util.bloom.Filter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>or</h4>
<pre>public&nbsp;void&nbsp;or(org.apache.hadoop.util.bloom.Filter&nbsp;filter)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.util.bloom.Filter</code></span></div>
<div class="block">Peforms a logical OR between <i>this</i> filter and a specified filter.
<p>
<b>Invariant</b>: The result is assigned to <i>this</i> filter.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>or</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.util.bloom.Filter</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filter</code> - The filter to OR with.</dd>
</dl>
</li>
</ul>
<a name="xor-org.apache.hadoop.util.bloom.Filter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>xor</h4>
<pre>public&nbsp;void&nbsp;xor(org.apache.hadoop.util.bloom.Filter&nbsp;filter)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.util.bloom.Filter</code></span></div>
<div class="block">Peforms a logical XOR between <i>this</i> filter and a specified filter.
<p>
<b>Invariant</b>: The result is assigned to <i>this</i> filter.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>xor</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.util.bloom.Filter</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filter</code> - The filter to XOR with.</dd>
</dl>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
<a name="write-java.io.DataOutput-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>write</h4>
<pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/io/Writable.html#write-java.io.DataOutput-">Writable</a></code></span></div>
<div class="block">Serialize the fields of this object to <code>out</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/io/Writable.html#write-java.io.DataOutput-">write</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/io/Writable.html" title="interface in org.apache.hadoop.io">Writable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>write</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.util.bloom.Filter</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>out</code> - <code>DataOuput</code> to serialize this object into.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
<a name="readFields-java.io.DataInput-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>readFields</h4>
<pre>public&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/io/Writable.html#readFields-java.io.DataInput-">Writable</a></code></span></div>
<div class="block">Deserialize the fields of this object from <code>in</code>.
<p>For efficiency, implementations should attempt to re-use storage in the
existing object where possible.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/io/Writable.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/io/Writable.html" title="interface in org.apache.hadoop.io">Writable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>readFields</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.util.bloom.Filter</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>in</code> - <code>DataInput</code> to deseriablize this object from.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/CountingBloomFilter.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/hadoop/util/bloom/BloomFilter.html" title="class in org.apache.hadoop.util.bloom"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/hadoop/util/bloom/DynamicBloomFilter.html" title="class in org.apache.hadoop.util.bloom"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/hadoop/util/bloom/CountingBloomFilter.html" target="_top">Frames</a></li>
<li><a href="CountingBloomFilter.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields.inherited.from.class.org.apache.hadoop.util.bloom.Filter">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>