blob: 38bb5dc0f097266f1ce7ce5099542234750e436a [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>ItemsUnion (datasketches-java 4.0.0 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../jquery/jquery-3.6.0.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.min.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ItemsUnion (datasketches-java 4.0.0 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":9,"i2":9,"i3":9,"i4":9,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ItemsUnion.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" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.datasketches.quantiles</a></div>
<h2 title="Class ItemsUnion" class="title">Class ItemsUnion&lt;T&gt;</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" class="externalLink">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.datasketches.quantiles.ItemsUnion&lt;T&gt;</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - type of item</dd>
</dl>
<hr>
<pre>public final class <span class="typeNameLabel">ItemsUnion&lt;T&gt;</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></pre>
<div class="block">The API for Union operations for generic ItemsSketches</div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>Lee Rhodes, Alexander Saydakov</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getEffectiveK()">getEffectiveK</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the effective <i>k</i> of this Union.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a>&lt;T&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInstance(java.lang.Class,int,java.util.Comparator)">getInstance</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;T&gt;&nbsp;clazz,
int&nbsp;maxK,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;? super T&gt;&nbsp;comparator)</code></th>
<td class="colLast">
<div class="block">Create an instance of ItemsUnion</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a>&lt;T&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInstance(java.lang.Class,java.util.Comparator)">getInstance</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;T&gt;&nbsp;clazz,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;? super T&gt;&nbsp;comparator)</code></th>
<td class="colLast">
<div class="block">Create an instance of ItemsUnion with the default k</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a>&lt;T&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInstance(java.lang.Class,org.apache.datasketches.memory.Memory,java.util.Comparator,org.apache.datasketches.common.ArrayOfItemsSerDe)">getInstance</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;T&gt;&nbsp;clazz,
org.apache.datasketches.memory.Memory&nbsp;srcMem,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;? super T&gt;&nbsp;comparator,
<a href="../common/ArrayOfItemsSerDe.html" title="class in org.apache.datasketches.common">ArrayOfItemsSerDe</a>&lt;T&gt;&nbsp;serDe)</code></th>
<td class="colLast">
<div class="block">Heapify the given srcMem into a Union object.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static &lt;T&gt;&nbsp;<a href="ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a>&lt;T&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInstance(org.apache.datasketches.quantiles.ItemsSketch)">getInstance</a></span>&#8203;(<a href="ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a>&lt;T&gt;&nbsp;sketch)</code></th>
<td class="colLast">
<div class="block">Create an instance of ItemsUnion based on ItemsSketch</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxK()">getMaxK</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the configured <i>maxK</i> of this Union.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a>&lt;<a href="ItemsUnion.html" title="type parameter in ItemsUnion">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getResult()">getResult</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the result of this Union operation as a copy of the internal state.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a>&lt;<a href="ItemsUnion.html" title="type parameter in ItemsUnion">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getResultAndReset()">getResultAndReset</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the result of this Union operation (without a copy) and resets this Union to the
virgin state.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDirect()">isDirect</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns true if this union is direct</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEmpty()">isEmpty</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns true if this union is empty</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reset()">reset</a></span>()</code></th>
<td class="colLast">
<div class="block">Resets this Union to a virgin state.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>byte[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toByteArray(org.apache.datasketches.common.ArrayOfItemsSerDe)">toByteArray</a></span>&#8203;(<a href="../common/ArrayOfItemsSerDe.html" title="class in org.apache.datasketches.common">ArrayOfItemsSerDe</a>&lt;<a href="ItemsUnion.html" title="type parameter in ItemsUnion">T</a>&gt;&nbsp;serDe)</code></th>
<td class="colLast">
<div class="block">Serialize this union to a byte array.</div>
</td>
</tr>
<tr id="i12" 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" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns summary information about the backing sketch.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<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" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString(boolean,boolean)">toString</a></span>&#8203;(boolean&nbsp;sketchSummary,
boolean&nbsp;dataDetail)</code></th>
<td class="colLast">
<div class="block">Returns summary information about the backing sketch.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#union(org.apache.datasketches.memory.Memory,org.apache.datasketches.common.ArrayOfItemsSerDe)">union</a></span>&#8203;(org.apache.datasketches.memory.Memory&nbsp;srcMem,
<a href="../common/ArrayOfItemsSerDe.html" title="class in org.apache.datasketches.common">ArrayOfItemsSerDe</a>&lt;<a href="ItemsUnion.html" title="type parameter in ItemsUnion">T</a>&gt;&nbsp;serDe)</code></th>
<td class="colLast">
<div class="block">Iterative union operation, which means this method can be repeatedly called.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#union(org.apache.datasketches.quantiles.ItemsSketch)">union</a></span>&#8203;(<a href="ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a>&lt;<a href="ItemsUnion.html" title="type parameter in ItemsUnion">T</a>&gt;&nbsp;sketchIn)</code></th>
<td class="colLast">
<div class="block">Iterative union operation, which means this method can be repeatedly called.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#update(T)">update</a></span>&#8203;(<a href="ItemsUnion.html" title="type parameter in ItemsUnion">T</a>&nbsp;dataItem)</code></th>
<td class="colLast">
<div class="block">Update this union with the given double (or float) data Item.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getInstance(java.lang.Class,java.util.Comparator)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInstance</h4>
<pre class="methodSignature">public static&nbsp;&lt;T&gt;&nbsp;<a href="ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a>&lt;T&gt;&nbsp;getInstance&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;T&gt;&nbsp;clazz,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;? super T&gt;&nbsp;comparator)</pre>
<div class="block">Create an instance of ItemsUnion with the default k</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - The sketch data type</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>clazz</code> - The sketch class type</dd>
<dd><code>comparator</code> - to compare items</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an instance of ItemsUnion</dd>
</dl>
</li>
</ul>
<a id="getInstance(java.lang.Class,int,java.util.Comparator)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInstance</h4>
<pre class="methodSignature">public static&nbsp;&lt;T&gt;&nbsp;<a href="ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a>&lt;T&gt;&nbsp;getInstance&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;T&gt;&nbsp;clazz,
int&nbsp;maxK,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;? super T&gt;&nbsp;comparator)</pre>
<div class="block">Create an instance of ItemsUnion</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - The sketch data type</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>clazz</code> - The sketch class type</dd>
<dd><code>maxK</code> - determines the accuracy and size of the union and is a maximum.
The effective <i>k</i> can be smaller due to unions with smaller <i>k</i> sketches.
It is recommended that <i>maxK</i> be a power of 2 to enable unioning of sketches with a
different <i>k</i>.</dd>
<dd><code>comparator</code> - to compare items</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an instance of ItemsUnion</dd>
</dl>
</li>
</ul>
<a id="getInstance(java.lang.Class,org.apache.datasketches.memory.Memory,java.util.Comparator,org.apache.datasketches.common.ArrayOfItemsSerDe)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInstance</h4>
<pre class="methodSignature">public static&nbsp;&lt;T&gt;&nbsp;<a href="ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a>&lt;T&gt;&nbsp;getInstance&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;T&gt;&nbsp;clazz,
org.apache.datasketches.memory.Memory&nbsp;srcMem,
<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;? super T&gt;&nbsp;comparator,
<a href="../common/ArrayOfItemsSerDe.html" title="class in org.apache.datasketches.common">ArrayOfItemsSerDe</a>&lt;T&gt;&nbsp;serDe)</pre>
<div class="block">Heapify the given srcMem into a Union object.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - The sketch data type</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>clazz</code> - The sketch class type
A reference to srcMem will not be maintained internally.</dd>
<dd><code>srcMem</code> - the given srcMem.</dd>
<dd><code>comparator</code> - to compare items</dd>
<dd><code>serDe</code> - an instance of ArrayOfItemsSerDe</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an instance of ItemsUnion</dd>
</dl>
</li>
</ul>
<a id="getInstance(org.apache.datasketches.quantiles.ItemsSketch)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInstance</h4>
<pre class="methodSignature">public static&nbsp;&lt;T&gt;&nbsp;<a href="ItemsUnion.html" title="class in org.apache.datasketches.quantiles">ItemsUnion</a>&lt;T&gt;&nbsp;getInstance&#8203;(<a href="ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a>&lt;T&gt;&nbsp;sketch)</pre>
<div class="block">Create an instance of ItemsUnion based on ItemsSketch</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - The sketch data type</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sketch</code> - the basis of the union</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an instance of ItemsUnion</dd>
</dl>
</li>
</ul>
<a id="union(org.apache.datasketches.quantiles.ItemsSketch)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>union</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;union&#8203;(<a href="ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a>&lt;<a href="ItemsUnion.html" title="type parameter in ItemsUnion">T</a>&gt;&nbsp;sketchIn)</pre>
<div class="block">Iterative union operation, which means this method can be repeatedly called.
Merges the given sketch into this union object.
The given sketch is not modified.
It is required that the ratio of the two K's be a power of 2.
This is easily satisfied if each of the K's are already a power of 2.
If the given sketch is null or empty it is ignored.
<p>It is required that the results of the union operation, which can be obtained at any time,
is obtained from <a href="#getResult()"><code>getResult()</code></a>.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sketchIn</code> - the sketch to be merged into this one.</dd>
</dl>
</li>
</ul>
<a id="union(org.apache.datasketches.memory.Memory,org.apache.datasketches.common.ArrayOfItemsSerDe)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>union</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;union&#8203;(org.apache.datasketches.memory.Memory&nbsp;srcMem,
<a href="../common/ArrayOfItemsSerDe.html" title="class in org.apache.datasketches.common">ArrayOfItemsSerDe</a>&lt;<a href="ItemsUnion.html" title="type parameter in ItemsUnion">T</a>&gt;&nbsp;serDe)</pre>
<div class="block">Iterative union operation, which means this method can be repeatedly called.
Merges the given Memory image of a ItemsSketch into this union object.
The given Memory object is not modified and a link to it is not retained.
It is required that the ratio of the two K's be a power of 2.
This is easily satisfied if each of the K's are already a power of 2.
If the given sketch is null or empty it is ignored.
<p>It is required that the results of the union operation, which can be obtained at any time,
is obtained from <a href="#getResult()"><code>getResult()</code></a>.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>srcMem</code> - Memory image of sketch to be merged</dd>
<dd><code>serDe</code> - an instance of ArrayOfItemsSerDe</dd>
</dl>
</li>
</ul>
<a id="update(java.lang.Object)">
<!-- -->
</a><a id="update(T)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>update</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;update&#8203;(<a href="ItemsUnion.html" title="type parameter in ItemsUnion">T</a>&nbsp;dataItem)</pre>
<div class="block">Update this union with the given double (or float) data Item.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dataItem</code> - The given datum.</dd>
</dl>
</li>
</ul>
<a id="getResult()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResult</h4>
<pre class="methodSignature">public&nbsp;<a href="ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a>&lt;<a href="ItemsUnion.html" title="type parameter in ItemsUnion">T</a>&gt;&nbsp;getResult()</pre>
<div class="block">Gets the result of this Union operation as a copy of the internal state.
This enables further union update operations on this state.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the result of this Union operation</dd>
</dl>
</li>
</ul>
<a id="getResultAndReset()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResultAndReset</h4>
<pre class="methodSignature">public&nbsp;<a href="ItemsSketch.html" title="class in org.apache.datasketches.quantiles">ItemsSketch</a>&lt;<a href="ItemsUnion.html" title="type parameter in ItemsUnion">T</a>&gt;&nbsp;getResultAndReset()</pre>
<div class="block">Gets the result of this Union operation (without a copy) and resets this Union to the
virgin state.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the result of this Union operation and reset.</dd>
</dl>
</li>
</ul>
<a id="reset()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;reset()</pre>
<div class="block">Resets this Union to a virgin state.
Keeps maxK, comparator and clazz</div>
</li>
</ul>
<a id="isEmpty()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEmpty</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isEmpty()</pre>
<div class="block">Returns true if this union is empty</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this union is empty</dd>
</dl>
</li>
</ul>
<a id="isDirect()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDirect</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isDirect()</pre>
<div class="block">Returns true if this union is direct</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this union is direct</dd>
</dl>
</li>
</ul>
<a id="getMaxK()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxK</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getMaxK()</pre>
<div class="block">Returns the configured <i>maxK</i> of this Union.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the configured <i>maxK</i> of this Union.</dd>
</dl>
</li>
</ul>
<a id="getEffectiveK()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEffectiveK</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getEffectiveK()</pre>
<div class="block">Returns the effective <i>k</i> of this Union.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the effective <i>k</i> of this Union.</dd>
</dl>
</li>
</ul>
<a id="toString()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre class="methodSignature">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" class="externalLink">String</a>&nbsp;toString()</pre>
<div class="block">Returns summary information about the backing sketch.</div>
<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" class="externalLink">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" class="externalLink">Object</a></code></dd>
</dl>
</li>
</ul>
<a id="toString(boolean,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre class="methodSignature">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" class="externalLink">String</a>&nbsp;toString&#8203;(boolean&nbsp;sketchSummary,
boolean&nbsp;dataDetail)</pre>
<div class="block">Returns summary information about the backing sketch. Used for debugging.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sketchSummary</code> - if true includes sketch summary</dd>
<dd><code>dataDetail</code> - if true includes data detail</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>summary information about the sketch.</dd>
</dl>
</li>
</ul>
<a id="toByteArray(org.apache.datasketches.common.ArrayOfItemsSerDe)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toByteArray</h4>
<pre class="methodSignature">public&nbsp;byte[]&nbsp;toByteArray&#8203;(<a href="../common/ArrayOfItemsSerDe.html" title="class in org.apache.datasketches.common">ArrayOfItemsSerDe</a>&lt;<a href="ItemsUnion.html" title="type parameter in ItemsUnion">T</a>&gt;&nbsp;serDe)</pre>
<div class="block">Serialize this union to a byte array. Result is an ItemsSketch, serialized in an
unordered, non-compact form. The resulting byte[] can be passed to getInstance for either a
sketch or union.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>serDe</code> - an instance of ArrayOfItemsSerDe</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>byte array of this union</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ItemsUnion.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" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2015&#x2013;2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>