<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>Uses of Class org.apache.jena.mem2.store.fast.FastHashedBunchMap (Apache Jena API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="use: module: org.apache.jena.core, package: org.apache.jena.mem2.store.fast, class: FastHashedBunchMap">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../../../script-dir/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="../../../../../../../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-use-page">
<script type="text/javascript">var pathtoroot = "../../../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../../../module-summary.html">Module</a></li>
<li><a href="../package-summary.html">Package</a></li>
<li><a href="../FastHashedBunchMap.html" title="class in org.apache.jena.mem2.store.fast">Class</a></li>
<li class="nav-bar-cell1-rev">Use</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#use">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="Uses of Class org.apache.jena.mem2.store.fast.FastHashedBunchMap" class="title">Uses of Class<br>org.apache.jena.mem2.store.fast.FastHashedBunchMap</h1>
</div>
<div class="caption"><span>Packages that use <a href="../FastHashedBunchMap.html" title="class in org.apache.jena.mem2.store.fast">FastHashedBunchMap</a></span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="#org.apache.jena.mem2.store.fast">org.apache.jena.mem2.store.fast</a></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
<section class="class-uses">
<ul class="block-list">
<li>
<section class="detail" id="org.apache.jena.mem2.store.fast">
<h2>Uses of <a href="../FastHashedBunchMap.html" title="class in org.apache.jena.mem2.store.fast">FastHashedBunchMap</a> in <a href="../package-summary.html">org.apache.jena.mem2.store.fast</a></h2>
<div class="caption"><span>Methods in <a href="../package-summary.html">org.apache.jena.mem2.store.fast</a> that return <a href="../FastHashedBunchMap.html" title="class in org.apache.jena.mem2.store.fast">FastHashedBunchMap</a></span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code><a href="../FastHashedBunchMap.html" title="class in org.apache.jena.mem2.store.fast">FastHashedBunchMap</a></code></div>
<div class="col-second even-row-color"><span class="type-name-label">FastHashedBunchMap.</span><code><a href="../FastHashedBunchMap.html#copy()" class="member-name-link">copy</a>()</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
</ul>
</section>
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Licensed under the Apache License, Version 2.0</small></p>
</footer>
</div>
</div>
</body>
</html>
