<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Thu Aug 20 21:25:36 CDT 2020 -->
<title>org.eclipse.collections.impl.set.immutable (Eclipse Collections - 10.4.0)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2020-08-20">
<meta name="description" content="declaration: package: org.eclipse.collections.impl.set.immutable">
<meta name="generator" content="javadoc/PackageWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="package-declaration">
<script type="text/javascript">var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= 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 class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.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">
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!--   -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<div class="header">
<h1 title="Package" class="title">Package&nbsp;org.eclipse.collections.impl.set.immutable</h1>
</div>
<div class="contentContainer">
<section class="packageDescription"><a id="package.description">
<!--   -->
</a>
<div class="block">This package package contains the implementations of <a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set"><code>ImmutableSet</code></a>.
 <p>
     This package contains the following immutable set implementations:
 <ul>
     <li>
          <code>ImmutableEmptySet</code> - an immutable set with 0 elements.
     </li>
     <li>
          <code>ImmutableSingletonSet</code> - an immutable set with 1 element.
     </li>
     <li>
          <code>ImmutableDoubletonSet</code> - an immutable set with 2 elements.
     </li>
     <li>
          <code>ImmutableTripletonSet</code> - an immutable set with 3 elements.
     </li>
     <li>
          <code>ImmutableQuadrupletonSet</code> - an immutable set with 4 elements.
     </li>
     <li>
          <code>ImmutableUnifiedSet</code> - the non-modifiable equivalent of <a href="../mutable/UnifiedSet.html" title="class in org.eclipse.collections.impl.set.mutable"><code>UnifiedSet</code></a>.
     </li>
 </ul>
 <p>
     This package contains one factory implementation:
 <ul>
     <li>
          <a href="ImmutableSetFactoryImpl.html" title="class in org.eclipse.collections.impl.set.immutable"><code>ImmutableSetFactoryImpl</code></a> - a factory which creates instances of type <a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set"><code>ImmutableSet</code></a>.
     </li>
 </ul></div>
</section>
<section class="summary">
<ul class="blockList">
<li class="blockList">
<div class="typeSummary">
<table>
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colFirst" scope="row"><a href="AbstractImmutableSet.html" title="class in org.eclipse.collections.impl.set.immutable">AbstractImmutableSet</a>&lt;T&gt;</th>
<td class="colLast">
<div class="block">This class is the parent class for all ImmutableSets.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colFirst" scope="row"><a href="ImmutableSetFactoryImpl.html" title="class in org.eclipse.collections.impl.set.immutable">ImmutableSetFactoryImpl</a></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
</section>
</div>
</main>
<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 class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.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>
<a id="skip.navbar.bottom">
<!--   -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2004&#x2013;2020. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>
