<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Sat Aug 08 22:45:01 CDT 2020 -->
<title>AbstractImmutableSet (Eclipse Collections - 10.3.0)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2020-08-08">
<meta name="description" content="declaration: package: org.eclipse.collections.impl.set.immutable, class: AbstractImmutableSet">
<meta name="generator" content="javadoc/ClassWriterImpl">
<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="class-declaration">
<script type="text/javascript">var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10,"i39":10,"i40":10,"i41":10,"i42":10,"i43":42,"i44":42};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractImmutableSet.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>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&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>
<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">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.eclipse.collections.impl.set.immutable</a></div>
<h1 title="Class AbstractImmutableSet" class="title">Class AbstractImmutableSet&lt;T&gt;</h1>
</div>
<div class="contentContainer">
<div class="inheritance" title="Inheritance Tree"><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>
<div class="inheritance"><a href="../../AbstractRichIterable.html" title="class in org.eclipse.collections.impl">org.eclipse.collections.impl.AbstractRichIterable</a>&lt;T&gt;
<div class="inheritance"><a href="../../collection/immutable/AbstractImmutableCollection.html" title="class in org.eclipse.collections.impl.collection.immutable">org.eclipse.collections.impl.collection.immutable.AbstractImmutableCollection</a>&lt;T&gt;
<div class="inheritance">org.eclipse.collections.impl.set.immutable.AbstractImmutableSet&lt;T&gt;</div>
</div>
</div>
</div>
<section class="description">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Iterable</a>&lt;T&gt;</code>, <code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;T&gt;</code>, <code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;T&gt;</code>, <code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;T&gt;</code>, <code><a href="../../../api/InternalIterable.html" title="interface in org.eclipse.collections.api">InternalIterable</a>&lt;T&gt;</code>, <code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;T&gt;</code>, <code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;T&gt;</code>, <code><a href="../../../api/set/ImmutableSetIterable.html" title="interface in org.eclipse.collections.api.set">ImmutableSetIterable</a>&lt;T&gt;</code>, <code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;T&gt;</code>, <code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;T&gt;</code></dd>
</dl>
<hr>
<pre>public abstract class <span class="typeNameLabel">AbstractImmutableSet&lt;T&gt;</span>
extends <a href="../../collection/immutable/AbstractImmutableCollection.html" title="class in org.eclipse.collections.impl.collection.immutable">AbstractImmutableCollection</a>&lt;T&gt;
implements <a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;T&gt;, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;T&gt;</pre>
<div class="block">This class is the parent class for all ImmutableSets. All implementations of ImmutableSet must implement the Set
 interface so anArraySet.equals(anImmutableSet) can return true when the contents and order are the same.</div>
</section>
<section class="summary">
<ul class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!--   -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">AbstractImmutableSet</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!--   -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t6" class="tableTab" onclick="show(32);">Deprecated Methods</button></div>
<div id="memberSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<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>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code><a href="../../../api/set/ParallelUnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">ParallelUnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#asParallel(java.util.concurrent.ExecutorService,int)">asParallel</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink">ExecutorService</a>&nbsp;executorService,
int&nbsp;batchSize)</code></th>
<td class="colLast">
<div class="block">Returns a parallel iterable of this SetIterable.</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>&lt;B&gt;&nbsp;<a href="../../../api/LazyIterable.html" title="interface in org.eclipse.collections.api">LazyIterable</a>&lt;<a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;B&gt;&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cartesianProduct(org.eclipse.collections.api.set.SetIterable)">cartesianProduct</a></span>&#8203;(<a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;B&gt;&nbsp;set)</code></th>
<td class="colLast">
<div class="block">Returns the set whose members are all possible ordered pairs (a, b) where a is a member of <code>this</code> and b is a
 member of <code>set</code>.</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#castToSet()">castToSet</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>&lt;V&gt;&nbsp;<a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collect(org.eclipse.collections.api.block.function.Function)">collect</a></span>&#8203;(<a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? extends V&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Returns a new collection with the results of applying the specified function on each element of the source
 collection.</div>
</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code><a href="../../../api/set/primitive/ImmutableBooleanSet.html" title="interface in org.eclipse.collections.api.set.primitive">ImmutableBooleanSet</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectBoolean(org.eclipse.collections.api.block.function.primitive.BooleanFunction)">collectBoolean</a></span>&#8203;(<a href="../../../api/block/function/primitive/BooleanFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">BooleanFunction</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;booleanFunction)</code></th>
<td class="colLast">
<div class="block">Returns a new primitive <code>boolean</code> iterable with the results of applying the specified function on each element
 of the source collection.</div>
</td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code><a href="../../../api/set/primitive/ImmutableByteSet.html" title="interface in org.eclipse.collections.api.set.primitive">ImmutableByteSet</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectByte(org.eclipse.collections.api.block.function.primitive.ByteFunction)">collectByte</a></span>&#8203;(<a href="../../../api/block/function/primitive/ByteFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">ByteFunction</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;byteFunction)</code></th>
<td class="colLast">
<div class="block">Returns a new primitive <code>byte</code> iterable with the results of applying the specified function on each element
 of the source collection.</div>
</td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code><a href="../../../api/set/primitive/ImmutableCharSet.html" title="interface in org.eclipse.collections.api.set.primitive">ImmutableCharSet</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectChar(org.eclipse.collections.api.block.function.primitive.CharFunction)">collectChar</a></span>&#8203;(<a href="../../../api/block/function/primitive/CharFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">CharFunction</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;charFunction)</code></th>
<td class="colLast">
<div class="block">Returns a new primitive <code>char</code> iterable with the results of applying the specified function on each element
 of the source collection.</div>
</td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code><a href="../../../api/set/primitive/ImmutableDoubleSet.html" title="interface in org.eclipse.collections.api.set.primitive">ImmutableDoubleSet</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction)">collectDouble</a></span>&#8203;(<a href="../../../api/block/function/primitive/DoubleFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">DoubleFunction</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;doubleFunction)</code></th>
<td class="colLast">
<div class="block">Returns a new primitive <code>double</code> iterable with the results of applying the specified function on each element
 of the source collection.</div>
</td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code><a href="../../../api/set/primitive/ImmutableFloatSet.html" title="interface in org.eclipse.collections.api.set.primitive">ImmutableFloatSet</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction)">collectFloat</a></span>&#8203;(<a href="../../../api/block/function/primitive/FloatFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">FloatFunction</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;floatFunction)</code></th>
<td class="colLast">
<div class="block">Returns a new primitive <code>float</code> iterable with the results of applying the specified function on each element
 of the source collection.</div>
</td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>&lt;V&gt;&nbsp;<a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectIf(org.eclipse.collections.api.block.predicate.Predicate,org.eclipse.collections.api.block.function.Function)">collectIf</a></span>&#8203;(<a href="../../../api/block/predicate/Predicate.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;predicate,
<a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? extends V&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Returns a new collection with the results of applying the specified function on each element of the source
 collection, but only for those elements which return true upon evaluation of the predicate.</div>
</td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code><a href="../../../api/set/primitive/ImmutableIntSet.html" title="interface in org.eclipse.collections.api.set.primitive">ImmutableIntSet</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectInt(org.eclipse.collections.api.block.function.primitive.IntFunction)">collectInt</a></span>&#8203;(<a href="../../../api/block/function/primitive/IntFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">IntFunction</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;intFunction)</code></th>
<td class="colLast">
<div class="block">Returns a new primitive <code>int</code> iterable with the results of applying the specified function on each element
 of the source collection.</div>
</td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code><a href="../../../api/set/primitive/ImmutableLongSet.html" title="interface in org.eclipse.collections.api.set.primitive">ImmutableLongSet</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectLong(org.eclipse.collections.api.block.function.primitive.LongFunction)">collectLong</a></span>&#8203;(<a href="../../../api/block/function/primitive/LongFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">LongFunction</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;longFunction)</code></th>
<td class="colLast">
<div class="block">Returns a new primitive <code>long</code> iterable with the results of applying the specified function on each element
 of the source collection.</div>
</td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code><a href="../../../api/set/primitive/ImmutableShortSet.html" title="interface in org.eclipse.collections.api.set.primitive">ImmutableShortSet</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectShort(org.eclipse.collections.api.block.function.primitive.ShortFunction)">collectShort</a></span>&#8203;(<a href="../../../api/block/function/primitive/ShortFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">ShortFunction</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;shortFunction)</code></th>
<td class="colLast">
<div class="block">Returns a new primitive <code>short</code> iterable with the results of applying the specified function on each element
 of the source collection.</div>
</td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code>&lt;P,&#8203;
V&gt;&nbsp;<a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectWith(org.eclipse.collections.api.block.function.Function2,P)">collectWith</a></span>&#8203;(<a href="../../../api/block/function/Function2.html" title="interface in org.eclipse.collections.api.block.function">Function2</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? super P,&#8203;? extends V&gt;&nbsp;function,
P&nbsp;parameter)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../../../api/RichIterable.html#collect(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.collect(Function)</code></a> with a <code>Function2</code> and specified parameter which is passed to the block.</div>
</td>
</tr>
<tr class="altColor" id="i14">
<td class="colFirst"><code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#difference(org.eclipse.collections.api.set.SetIterable)">difference</a></span>&#8203;(<a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;subtrahendSet)</code></th>
<td class="colLast">
<div class="block">Returns the set of all members of <code>this</code> that are not members of <code>subtrahendSet</code>.</div>
</td>
</tr>
<tr class="rowColor" id="i15">
<td class="colFirst"><code>&lt;R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#differenceInto(org.eclipse.collections.api.set.SetIterable,R)">differenceInto</a></span>&#8203;(<a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;subtrahendSet,
R&nbsp;targetSet)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../../../api/set/SetIterable.html#difference(org.eclipse.collections.api.set.SetIterable)"><code>SetIterable.difference(SetIterable)</code></a> but adds all the objects to <code>targetSet</code> and returns it.</div>
</td>
</tr>
<tr class="altColor" id="i16">
<td class="colFirst"><code>&lt;V&gt;&nbsp;<a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#flatCollect(org.eclipse.collections.api.block.function.Function)">flatCollect</a></span>&#8203;(<a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Iterable</a>&lt;V&gt;&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block"><code>flatCollect</code> is a special case of <a href="../../../api/RichIterable.html#collect(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.collect(Function)</code></a>.</div>
</td>
</tr>
<tr class="rowColor" id="i17">
<td class="colFirst"><code>&lt;V&gt;&nbsp;<a href="../../../api/multimap/set/ImmutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">ImmutableSetMultimap</a>&lt;V,&#8203;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#groupBy(org.eclipse.collections.api.block.function.Function)">groupBy</a></span>&#8203;(<a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? extends V&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">For each element of the iterable, the function is evaluated and the results of these evaluations are collected
 into a new multimap, where the transformed value is the key and the original values are added to the same (or similar)
 species of collection as the source iterable.</div>
</td>
</tr>
<tr class="altColor" id="i18">
<td class="colFirst"><code>&lt;V,&#8203;
R extends <a href="../../../api/multimap/MutableMultimap.html" title="interface in org.eclipse.collections.api.multimap">MutableMultimap</a>&lt;V,&#8203;
<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#groupBy(org.eclipse.collections.api.block.function.Function,R)">groupBy</a></span>&#8203;(<a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? extends V&gt;&nbsp;function,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../../../api/RichIterable.html#groupBy(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.groupBy(Function)</code></a>, except that the results are gathered into the specified <code>target</code>
 multimap.</div>
</td>
</tr>
<tr class="rowColor" id="i19">
<td class="colFirst"><code>&lt;V&gt;&nbsp;<a href="../../../api/multimap/set/ImmutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">ImmutableSetMultimap</a>&lt;V,&#8203;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#groupByEach(org.eclipse.collections.api.block.function.Function)">groupByEach</a></span>&#8203;(<a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Iterable</a>&lt;V&gt;&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Similar to <a href="../../../api/RichIterable.html#groupBy(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.groupBy(Function)</code></a>, except the result of evaluating function will return a collection of keys
 for each value.</div>
</td>
</tr>
<tr class="altColor" id="i20">
<td class="colFirst"><code>&lt;V,&#8203;
R extends <a href="../../../api/multimap/MutableMultimap.html" title="interface in org.eclipse.collections.api.multimap">MutableMultimap</a>&lt;V,&#8203;
<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#groupByEach(org.eclipse.collections.api.block.function.Function,R)">groupByEach</a></span>&#8203;(<a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Iterable</a>&lt;V&gt;&gt;&nbsp;function,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../../../api/RichIterable.html#groupByEach(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.groupByEach(Function)</code></a>, except that the results are gathered into the specified <code>target</code>
 multimap.</div>
</td>
</tr>
<tr class="rowColor" id="i21">
<td class="colFirst"><code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#intersect(org.eclipse.collections.api.set.SetIterable)">intersect</a></span>&#8203;(<a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;set)</code></th>
<td class="colLast">
<div class="block">Returns the set of all objects that are members of both <code>this</code> and <code>set</code>.</div>
</td>
</tr>
<tr class="altColor" id="i22">
<td class="colFirst"><code>&lt;R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#intersectInto(org.eclipse.collections.api.set.SetIterable,R)">intersectInto</a></span>&#8203;(<a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;set,
R&nbsp;targetSet)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../../../api/set/SetIterable.html#intersect(org.eclipse.collections.api.set.SetIterable)"><code>SetIterable.intersect(SetIterable)</code></a> but adds all the objects to <code>targetSet</code> and returns it.</div>
</td>
</tr>
<tr class="rowColor" id="i23">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isProperSubsetOf(org.eclipse.collections.api.set.SetIterable)">isProperSubsetOf</a></span>&#8203;(<a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;candidateSuperset)</code></th>
<td class="colLast">
<div class="block">Returns true if all the members of <code>this</code> are also members of <code>candidateSuperset</code> and the
 two sets are not equal.</div>
</td>
</tr>
<tr class="altColor" id="i24">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isSubsetOf(org.eclipse.collections.api.set.SetIterable)">isSubsetOf</a></span>&#8203;(<a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;candidateSuperset)</code></th>
<td class="colLast">
<div class="block">Returns true if all the members of <code>this</code> are also members of <code>candidateSuperset</code>.</div>
</td>
</tr>
<tr class="rowColor" id="i25">
<td class="colFirst"><code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newWith(T)">newWith</a></span>&#8203;(<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&nbsp;element)</code></th>
<td class="colLast">
<div class="block">This method is similar to the <code>with</code> method in <code>MutableCollection</code>
 with the difference that a new copy of this collection with the element appended will be returned.</div>
</td>
</tr>
<tr class="altColor" id="i26">
<td class="colFirst"><code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newWithAll(java.lang.Iterable)">newWithAll</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Iterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;elements)</code></th>
<td class="colLast">
<div class="block">This method is similar to the <code>withAll</code> method in <code>MutableCollection</code>
 with the difference that a new copy of this collection with the elements appended will be returned.</div>
</td>
</tr>
<tr class="rowColor" id="i27">
<td class="colFirst"><code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newWithout(T)">newWithout</a></span>&#8203;(<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&nbsp;element)</code></th>
<td class="colLast">
<div class="block">This method is similar to the <code>without</code> method in <code>MutableCollection</code>
 with the difference that a new copy of this collection with the element removed will be returned.</div>
</td>
</tr>
<tr class="altColor" id="i28">
<td class="colFirst"><code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newWithoutAll(java.lang.Iterable)">newWithoutAll</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Iterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;elements)</code></th>
<td class="colLast">
<div class="block">This method is similar to the <code>withoutAll</code> method in <code>MutableCollection</code>
 with the difference that a new copy of this collection with the elements removed will be returned.</div>
</td>
</tr>
<tr class="rowColor" id="i29">
<td class="colFirst"><code><a href="../../../api/partition/set/PartitionImmutableSet.html" title="interface in org.eclipse.collections.api.partition.set">PartitionImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#partition(org.eclipse.collections.api.block.predicate.Predicate)">partition</a></span>&#8203;(<a href="../../../api/block/predicate/Predicate.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Filters a collection into a PartitionedIterable based on the evaluation of the predicate.</div>
</td>
</tr>
<tr class="altColor" id="i30">
<td class="colFirst"><code>&lt;P&gt;&nbsp;<a href="../../../api/partition/set/PartitionImmutableSet.html" title="interface in org.eclipse.collections.api.partition.set">PartitionImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#partitionWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">partitionWith</a></span>&#8203;(<a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate2</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? super P&gt;&nbsp;predicate,
P&nbsp;parameter)</code></th>
<td class="colLast">
<div class="block">Filters a collection into a PartitionIterable based on the evaluation of the predicate.</div>
</td>
</tr>
<tr class="rowColor" id="i31">
<td class="colFirst"><code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#powerSet()">powerSet</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the set whose members are all possible subsets of <code>this</code>.</div>
</td>
</tr>
<tr class="altColor" id="i32">
<td class="colFirst"><code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reject(org.eclipse.collections.api.block.predicate.Predicate)">reject</a></span>&#8203;(<a href="../../../api/block/predicate/Predicate.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Returns all elements of the source collection that return false when evaluating of the predicate.</div>
</td>
</tr>
<tr class="rowColor" id="i33">
<td class="colFirst"><code>&lt;P&gt;&nbsp;<a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rejectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">rejectWith</a></span>&#8203;(<a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate2</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? super P&gt;&nbsp;predicate,
P&nbsp;parameter)</code></th>
<td class="colLast">
<div class="block">Similar to <a href="../../../api/RichIterable.html#reject(org.eclipse.collections.api.block.predicate.Predicate)"><code>RichIterable.reject(Predicate)</code></a>, except with an evaluation parameter for the second generic argument in <a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate"><code>Predicate2</code></a>.</div>
</td>
</tr>
<tr class="altColor" id="i34">
<td class="colFirst"><code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#select(org.eclipse.collections.api.block.predicate.Predicate)">select</a></span>&#8203;(<a href="../../../api/block/predicate/Predicate.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Returns all elements of the source collection that return true when evaluating the predicate.</div>
</td>
</tr>
<tr class="rowColor" id="i35">
<td class="colFirst"><code>&lt;S&gt;&nbsp;<a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;S&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#selectInstancesOf(java.lang.Class)">selectInstancesOf</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;S&gt;&nbsp;clazz)</code></th>
<td class="colLast">
<div class="block">Returns all elements of the source collection that are instances of the Class <code>clazz</code>.</div>
</td>
</tr>
<tr class="altColor" id="i36">
<td class="colFirst"><code>&lt;P&gt;&nbsp;<a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#selectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">selectWith</a></span>&#8203;(<a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate2</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? super P&gt;&nbsp;predicate,
P&nbsp;parameter)</code></th>
<td class="colLast">
<div class="block">Similar to <a href="../../../api/RichIterable.html#select(org.eclipse.collections.api.block.predicate.Predicate)"><code>RichIterable.select(Predicate)</code></a>, except with an evaluation parameter for the second generic argument in <a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate"><code>Predicate2</code></a>.</div>
</td>
</tr>
<tr class="rowColor" id="i37">
<td class="colFirst"><code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#symmetricDifference(org.eclipse.collections.api.set.SetIterable)">symmetricDifference</a></span>&#8203;(<a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;setB)</code></th>
<td class="colLast">
<div class="block">Returns the set of all objects that are a member of exactly one of <code>this</code> and <code>setB</code> (elements which
 are in one of the sets, but not in both).</div>
</td>
</tr>
<tr class="altColor" id="i38">
<td class="colFirst"><code>&lt;R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#symmetricDifferenceInto(org.eclipse.collections.api.set.SetIterable,R)">symmetricDifferenceInto</a></span>&#8203;(<a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;set,
R&nbsp;targetSet)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../../../api/set/SetIterable.html#symmetricDifference(org.eclipse.collections.api.set.SetIterable)"><code>SetIterable.symmetricDifference(SetIterable)</code></a> but adds all the objects to <code>targetSet</code> and returns it.</div>
</td>
</tr>
<tr class="rowColor" id="i39">
<td class="colFirst"><code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#tap(org.eclipse.collections.api.block.procedure.Procedure)">tap</a></span>&#8203;(<a href="../../../api/block/procedure/Procedure.html" title="interface in org.eclipse.collections.api.block.procedure">Procedure</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;procedure)</code></th>
<td class="colLast">
<div class="block">Executes the Procedure for each element in the iterable and returns <code>this</code>.</div>
</td>
</tr>
<tr class="altColor" id="i40">
<td class="colFirst"><code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toImmutable()">toImmutable</a></span>()</code></th>
<td class="colLast">
<div class="block">Converts the UnsortedSetIterable to an immutable implementation.</div>
</td>
</tr>
<tr class="rowColor" id="i41">
<td class="colFirst"><code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#union(org.eclipse.collections.api.set.SetIterable)">union</a></span>&#8203;(<a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;set)</code></th>
<td class="colLast">
<div class="block">Returns the set of all objects that are a member of <code>this</code> or <code>set</code> or both.</div>
</td>
</tr>
<tr class="altColor" id="i42">
<td class="colFirst"><code>&lt;R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unionInto(org.eclipse.collections.api.set.SetIterable,R)">unionInto</a></span>&#8203;(<a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;set,
R&nbsp;targetSet)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../../../api/set/SetIterable.html#union(org.eclipse.collections.api.set.SetIterable)"><code>SetIterable.union(SetIterable)</code></a> but adds all the objects to <code>targetSet</code> and returns it.</div>
</td>
</tr>
<tr class="rowColor" id="i43">
<td class="colFirst"><code>&lt;S&gt;&nbsp;<a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;S&gt;&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#zip(java.lang.Iterable)">zip</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Iterable</a>&lt;S&gt;&nbsp;that)</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">in 6.0.</div>
</div>
</td>
</tr>
<tr class="altColor" id="i44">
<td class="colFirst"><code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink">Integer</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#zipWithIndex()">zipWithIndex</a></span>()</code></th>
<td class="colLast">
<div class="block"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">in 6.0.</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;org.eclipse.collections.impl.collection.immutable.<a href="../../collection/immutable/AbstractImmutableCollection.html" title="class in org.eclipse.collections.impl.collection.immutable">AbstractImmutableCollection</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.impl.collection.immutable.AbstractImmutableCollection">
<!--   -->
</a><code><a href="../../collection/immutable/AbstractImmutableCollection.html#add(T)">add</a>, <a href="../../collection/immutable/AbstractImmutableCollection.html#addAll(java.util.Collection)">addAll</a>, <a href="../../collection/immutable/AbstractImmutableCollection.html#aggregateInPlaceBy(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.procedure.Procedure2)">aggregateInPlaceBy</a>, <a href="../../collection/immutable/AbstractImmutableCollection.html#castToCollection()">castToCollection</a>, <a href="../../collection/immutable/AbstractImmutableCollection.html#chunk(int)">chunk</a>, <a href="../../collection/immutable/AbstractImmutableCollection.html#clear()">clear</a>, <a href="../../collection/immutable/AbstractImmutableCollection.html#countBy(org.eclipse.collections.api.block.function.Function)">countBy</a>, <a href="../../collection/immutable/AbstractImmutableCollection.html#countByEach(org.eclipse.collections.api.block.function.Function)">countByEach</a>, <a href="../../collection/immutable/AbstractImmutableCollection.html#countByWith(org.eclipse.collections.api.block.function.Function2,P)">countByWith</a>, <a href="../../collection/immutable/AbstractImmutableCollection.html#groupByUniqueKey(org.eclipse.collections.api.block.function.Function)">groupByUniqueKey</a>, <a href="../../collection/immutable/AbstractImmutableCollection.html#parallelStream()">parallelStream</a>, <a href="../../collection/immutable/AbstractImmutableCollection.html#reduce(java.util.function.BinaryOperator)">reduce</a>, <a href="../../collection/immutable/AbstractImmutableCollection.html#remove(java.lang.Object)">remove</a>, <a href="../../collection/immutable/AbstractImmutableCollection.html#removeAll(java.util.Collection)">removeAll</a>, <a href="../../collection/immutable/AbstractImmutableCollection.html#retainAll(java.util.Collection)">retainAll</a>, <a href="../../collection/immutable/AbstractImmutableCollection.html#spliterator()">spliterator</a>, <a href="../../collection/immutable/AbstractImmutableCollection.html#stream()">stream</a>, <a href="../../collection/immutable/AbstractImmutableCollection.html#sumByDouble(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.DoubleFunction)">sumByDouble</a>, <a href="../../collection/immutable/AbstractImmutableCollection.html#sumByFloat(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.FloatFunction)">sumByFloat</a>, <a href="../../collection/immutable/AbstractImmutableCollection.html#sumByInt(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.IntFunction)">sumByInt</a>, <a href="../../collection/immutable/AbstractImmutableCollection.html#sumByLong(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.LongFunction)">sumByLong</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;org.eclipse.collections.impl.<a href="../../AbstractRichIterable.html" title="class in org.eclipse.collections.impl">AbstractRichIterable</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.impl.AbstractRichIterable">
<!--   -->
</a><code><a href="../../AbstractRichIterable.html#allSatisfy(org.eclipse.collections.api.block.predicate.Predicate)">allSatisfy</a>, <a href="../../AbstractRichIterable.html#allSatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">allSatisfyWith</a>, <a href="../../AbstractRichIterable.html#anySatisfy(org.eclipse.collections.api.block.predicate.Predicate)">anySatisfy</a>, <a href="../../AbstractRichIterable.html#anySatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">anySatisfyWith</a>, <a href="../../AbstractRichIterable.html#appendString(java.lang.Appendable,java.lang.String)">appendString</a>, <a href="../../AbstractRichIterable.html#appendString(java.lang.Appendable,java.lang.String,java.lang.String,java.lang.String)">appendString</a>, <a href="../../AbstractRichIterable.html#asLazy()">asLazy</a>, <a href="../../AbstractRichIterable.html#collect(org.eclipse.collections.api.block.function.Function,R)">collect</a>, <a href="../../AbstractRichIterable.html#collectBoolean(org.eclipse.collections.api.block.function.primitive.BooleanFunction,R)">collectBoolean</a>, <a href="../../AbstractRichIterable.html#collectByte(org.eclipse.collections.api.block.function.primitive.ByteFunction,R)">collectByte</a>, <a href="../../AbstractRichIterable.html#collectChar(org.eclipse.collections.api.block.function.primitive.CharFunction,R)">collectChar</a>, <a href="../../AbstractRichIterable.html#collectDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction,R)">collectDouble</a>, <a href="../../AbstractRichIterable.html#collectFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction,R)">collectFloat</a>, <a href="../../AbstractRichIterable.html#collectIf(org.eclipse.collections.api.block.predicate.Predicate,org.eclipse.collections.api.block.function.Function,R)">collectIf</a>, <a href="../../AbstractRichIterable.html#collectInt(org.eclipse.collections.api.block.function.primitive.IntFunction,R)">collectInt</a>, <a href="../../AbstractRichIterable.html#collectLong(org.eclipse.collections.api.block.function.primitive.LongFunction,R)">collectLong</a>, <a href="../../AbstractRichIterable.html#collectShort(org.eclipse.collections.api.block.function.primitive.ShortFunction,R)">collectShort</a>, <a href="../../AbstractRichIterable.html#collectWith(org.eclipse.collections.api.block.function.Function2,P,R)">collectWith</a>, <a href="../../AbstractRichIterable.html#contains(java.lang.Object)">contains</a>, <a href="../../AbstractRichIterable.html#containsAll(java.util.Collection)">containsAll</a>, <a href="../../AbstractRichIterable.html#containsAllArguments(java.lang.Object...)">containsAllArguments</a>, <a href="../../AbstractRichIterable.html#containsAllIterable(java.lang.Iterable)">containsAllIterable</a>, <a href="../../AbstractRichIterable.html#count(org.eclipse.collections.api.block.predicate.Predicate)">count</a>, <a href="../../AbstractRichIterable.html#countWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">countWith</a>, <a href="../../AbstractRichIterable.html#detect(org.eclipse.collections.api.block.predicate.Predicate)">detect</a>, <a href="../../AbstractRichIterable.html#detectOptional(org.eclipse.collections.api.block.predicate.Predicate)">detectOptional</a>, <a href="../../AbstractRichIterable.html#detectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">detectWith</a>, <a href="../../AbstractRichIterable.html#detectWithIfNone(org.eclipse.collections.api.block.predicate.Predicate2,P,org.eclipse.collections.api.block.function.Function0)">detectWithIfNone</a>, <a href="../../AbstractRichIterable.html#detectWithOptional(org.eclipse.collections.api.block.predicate.Predicate2,P)">detectWithOptional</a>, <a href="../../AbstractRichIterable.html#flatCollect(org.eclipse.collections.api.block.function.Function,R)">flatCollect</a>, <a href="../../AbstractRichIterable.html#forEach(org.eclipse.collections.api.block.procedure.Procedure)">forEach</a>, <a href="../../AbstractRichIterable.html#forEachWith(org.eclipse.collections.api.block.procedure.Procedure2,P)">forEachWith</a>, <a href="../../AbstractRichIterable.html#forEachWithIndex(org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure)">forEachWithIndex</a>, <a href="../../AbstractRichIterable.html#groupByUniqueKey(org.eclipse.collections.api.block.function.Function,R)">groupByUniqueKey</a>, <a href="../../AbstractRichIterable.html#injectInto(double,org.eclipse.collections.api.block.function.primitive.DoubleObjectToDoubleFunction)">injectInto</a>, <a href="../../AbstractRichIterable.html#injectInto(float,org.eclipse.collections.api.block.function.primitive.FloatObjectToFloatFunction)">injectInto</a>, <a href="../../AbstractRichIterable.html#injectInto(int,org.eclipse.collections.api.block.function.primitive.IntObjectToIntFunction)">injectInto</a>, <a href="../../AbstractRichIterable.html#injectInto(long,org.eclipse.collections.api.block.function.primitive.LongObjectToLongFunction)">injectInto</a>, <a href="../../AbstractRichIterable.html#injectInto(IV,org.eclipse.collections.api.block.function.Function2)">injectInto</a>, <a href="../../AbstractRichIterable.html#into(R)">into</a>, <a href="../../AbstractRichIterable.html#isEmpty()">isEmpty</a>, <a href="../../AbstractRichIterable.html#max()">max</a>, <a href="../../AbstractRichIterable.html#max(java.util.Comparator)">max</a>, <a href="../../AbstractRichIterable.html#maxBy(org.eclipse.collections.api.block.function.Function)">maxBy</a>, <a href="../../AbstractRichIterable.html#min()">min</a>, <a href="../../AbstractRichIterable.html#min(java.util.Comparator)">min</a>, <a href="../../AbstractRichIterable.html#minBy(org.eclipse.collections.api.block.function.Function)">minBy</a>, <a href="../../AbstractRichIterable.html#noneSatisfy(org.eclipse.collections.api.block.predicate.Predicate)">noneSatisfy</a>, <a href="../../AbstractRichIterable.html#noneSatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">noneSatisfyWith</a>, <a href="../../AbstractRichIterable.html#reject(org.eclipse.collections.api.block.predicate.Predicate,R)">reject</a>, <a href="../../AbstractRichIterable.html#rejectWith(org.eclipse.collections.api.block.predicate.Predicate2,P,R)">rejectWith</a>, <a href="../../AbstractRichIterable.html#select(org.eclipse.collections.api.block.predicate.Predicate,R)">select</a>, <a href="../../AbstractRichIterable.html#selectWith(org.eclipse.collections.api.block.predicate.Predicate2,P,R)">selectWith</a>, <a href="../../AbstractRichIterable.html#sumOfDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction)">sumOfDouble</a>, <a href="../../AbstractRichIterable.html#sumOfFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction)">sumOfFloat</a>, <a href="../../AbstractRichIterable.html#sumOfInt(org.eclipse.collections.api.block.function.primitive.IntFunction)">sumOfInt</a>, <a href="../../AbstractRichIterable.html#sumOfLong(org.eclipse.collections.api.block.function.primitive.LongFunction)">sumOfLong</a>, <a href="../../AbstractRichIterable.html#toArray()">toArray</a>, <a href="../../AbstractRichIterable.html#toArray(E%5B%5D)">toArray</a>, <a href="../../AbstractRichIterable.html#toBag()">toBag</a>, <a href="../../AbstractRichIterable.html#toBiMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toBiMap</a>, <a href="../../AbstractRichIterable.html#toList()">toList</a>, <a href="../../AbstractRichIterable.html#toMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toMap</a>, <a href="../../AbstractRichIterable.html#toSet()">toSet</a>, <a href="../../AbstractRichIterable.html#toSortedBag()">toSortedBag</a>, <a href="../../AbstractRichIterable.html#toSortedBag(java.util.Comparator)">toSortedBag</a>, <a href="../../AbstractRichIterable.html#toSortedBagBy(org.eclipse.collections.api.block.function.Function)">toSortedBagBy</a>, <a href="../../AbstractRichIterable.html#toSortedListBy(org.eclipse.collections.api.block.function.Function)">toSortedListBy</a>, <a href="../../AbstractRichIterable.html#toSortedMap(java.util.Comparator,org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toSortedMap</a>, <a href="../../AbstractRichIterable.html#toSortedMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toSortedMap</a>, <a href="../../AbstractRichIterable.html#toSortedMapBy(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toSortedMapBy</a>, <a href="../../AbstractRichIterable.html#toSortedSet()">toSortedSet</a>, <a href="../../AbstractRichIterable.html#toSortedSet(java.util.Comparator)">toSortedSet</a>, <a href="../../AbstractRichIterable.html#toSortedSetBy(org.eclipse.collections.api.block.function.Function)">toSortedSetBy</a>, <a href="../../AbstractRichIterable.html#toString()">toString</a>, <a href="../../AbstractRichIterable.html#zip(java.lang.Iterable,R)">zip</a>, <a href="../../AbstractRichIterable.html#zipWithIndex(R)">zipWithIndex</a></code></div>
<div class="inheritedList">
<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>
<a id="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a><code><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#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></div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a></h3>
<a id="methods.inherited.from.class.java.util.Collection">
<!--   -->
</a><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#parallelStream()" title="class or interface in java.util" class="externalLink">parallelStream</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#removeIf(java.util.function.Predicate)" title="class or interface in java.util" class="externalLink">removeIf</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#stream()" title="class or interface in java.util" class="externalLink">stream</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#toArray(java.util.function.IntFunction)" title="class or interface in java.util" class="externalLink">toArray</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;org.eclipse.collections.api.collection.<a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.collection.ImmutableCollection">
<!--   -->
</a><code><a href="../../../api/collection/ImmutableCollection.html#aggregateBy(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function2)">aggregateBy</a>, <a href="../../../api/collection/ImmutableCollection.html#aggregateInPlaceBy(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.procedure.Procedure2)">aggregateInPlaceBy</a>, <a href="../../../api/collection/ImmutableCollection.html#castToCollection()">castToCollection</a>, <a href="../../../api/collection/ImmutableCollection.html#countBy(org.eclipse.collections.api.block.function.Function)">countBy</a>, <a href="../../../api/collection/ImmutableCollection.html#countByEach(org.eclipse.collections.api.block.function.Function)">countByEach</a>, <a href="../../../api/collection/ImmutableCollection.html#countByWith(org.eclipse.collections.api.block.function.Function2,P)">countByWith</a>, <a href="../../../api/collection/ImmutableCollection.html#flatCollectWith(org.eclipse.collections.api.block.function.Function2,P)">flatCollectWith</a>, <a href="../../../api/collection/ImmutableCollection.html#groupByUniqueKey(org.eclipse.collections.api.block.function.Function)">groupByUniqueKey</a>, <a href="../../../api/collection/ImmutableCollection.html#parallelStream()">parallelStream</a>, <a href="../../../api/collection/ImmutableCollection.html#spliterator()">spliterator</a>, <a href="../../../api/collection/ImmutableCollection.html#stream()">stream</a>, <a href="../../../api/collection/ImmutableCollection.html#sumByDouble(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.DoubleFunction)">sumByDouble</a>, <a href="../../../api/collection/ImmutableCollection.html#sumByFloat(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.FloatFunction)">sumByFloat</a>, <a href="../../../api/collection/ImmutableCollection.html#sumByInt(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.IntFunction)">sumByInt</a>, <a href="../../../api/collection/ImmutableCollection.html#sumByLong(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.LongFunction)">sumByLong</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;org.eclipse.collections.api.set.<a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.set.ImmutableSet">
<!--   -->
</a><code><a href="../../../api/set/ImmutableSet.html#flatCollectWith(org.eclipse.collections.api.block.function.Function2,P)">flatCollectWith</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;org.eclipse.collections.api.<a href="../../../api/InternalIterable.html" title="interface in org.eclipse.collections.api">InternalIterable</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.InternalIterable">
<!--   -->
</a><code><a href="../../../api/InternalIterable.html#forEach(java.util.function.Consumer)">forEach</a>, <a href="../../../api/InternalIterable.html#forEachWith(org.eclipse.collections.api.block.procedure.Procedure2,P)">forEachWith</a>, <a href="../../../api/InternalIterable.html#forEachWithIndex(org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure)">forEachWithIndex</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;org.eclipse.collections.api.<a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.RichIterable">
<!--   -->
</a><code><a href="../../../api/RichIterable.html#aggregateBy(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function2,R)">aggregateBy</a>, <a href="../../../api/RichIterable.html#allSatisfy(org.eclipse.collections.api.block.predicate.Predicate)">allSatisfy</a>, <a href="../../../api/RichIterable.html#allSatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">allSatisfyWith</a>, <a href="../../../api/RichIterable.html#anySatisfy(org.eclipse.collections.api.block.predicate.Predicate)">anySatisfy</a>, <a href="../../../api/RichIterable.html#anySatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">anySatisfyWith</a>, <a href="../../../api/RichIterable.html#appendString(java.lang.Appendable)">appendString</a>, <a href="../../../api/RichIterable.html#appendString(java.lang.Appendable,java.lang.String)">appendString</a>, <a href="../../../api/RichIterable.html#appendString(java.lang.Appendable,java.lang.String,java.lang.String,java.lang.String)">appendString</a>, <a href="../../../api/RichIterable.html#asLazy()">asLazy</a>, <a href="../../../api/RichIterable.html#chunk(int)">chunk</a>, <a href="../../../api/RichIterable.html#collect(org.eclipse.collections.api.block.function.Function,R)">collect</a>, <a href="../../../api/RichIterable.html#collectBoolean(org.eclipse.collections.api.block.function.primitive.BooleanFunction,R)">collectBoolean</a>, <a href="../../../api/RichIterable.html#collectByte(org.eclipse.collections.api.block.function.primitive.ByteFunction,R)">collectByte</a>, <a href="../../../api/RichIterable.html#collectChar(org.eclipse.collections.api.block.function.primitive.CharFunction,R)">collectChar</a>, <a href="../../../api/RichIterable.html#collectDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction,R)">collectDouble</a>, <a href="../../../api/RichIterable.html#collectFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction,R)">collectFloat</a>, <a href="../../../api/RichIterable.html#collectIf(org.eclipse.collections.api.block.predicate.Predicate,org.eclipse.collections.api.block.function.Function,R)">collectIf</a>, <a href="../../../api/RichIterable.html#collectInt(org.eclipse.collections.api.block.function.primitive.IntFunction,R)">collectInt</a>, <a href="../../../api/RichIterable.html#collectLong(org.eclipse.collections.api.block.function.primitive.LongFunction,R)">collectLong</a>, <a href="../../../api/RichIterable.html#collectShort(org.eclipse.collections.api.block.function.primitive.ShortFunction,R)">collectShort</a>, <a href="../../../api/RichIterable.html#collectWith(org.eclipse.collections.api.block.function.Function2,P,R)">collectWith</a>, <a href="../../../api/RichIterable.html#contains(java.lang.Object)">contains</a>, <a href="../../../api/RichIterable.html#containsAll(java.util.Collection)">containsAll</a>, <a href="../../../api/RichIterable.html#containsAllArguments(java.lang.Object...)">containsAllArguments</a>, <a href="../../../api/RichIterable.html#containsAllIterable(java.lang.Iterable)">containsAllIterable</a>, <a href="../../../api/RichIterable.html#containsBy(org.eclipse.collections.api.block.function.Function,V)">containsBy</a>, <a href="../../../api/RichIterable.html#count(org.eclipse.collections.api.block.predicate.Predicate)">count</a>, <a href="../../../api/RichIterable.html#countBy(org.eclipse.collections.api.block.function.Function,R)">countBy</a>, <a href="../../../api/RichIterable.html#countByEach(org.eclipse.collections.api.block.function.Function,R)">countByEach</a>, <a href="../../../api/RichIterable.html#countByWith(org.eclipse.collections.api.block.function.Function2,P,R)">countByWith</a>, <a href="../../../api/RichIterable.html#countWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">countWith</a>, <a href="../../../api/RichIterable.html#detect(org.eclipse.collections.api.block.predicate.Predicate)">detect</a>, <a href="../../../api/RichIterable.html#detectIfNone(org.eclipse.collections.api.block.predicate.Predicate,org.eclipse.collections.api.block.function.Function0)">detectIfNone</a>, <a href="../../../api/RichIterable.html#detectOptional(org.eclipse.collections.api.block.predicate.Predicate)">detectOptional</a>, <a href="../../../api/RichIterable.html#detectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">detectWith</a>, <a href="../../../api/RichIterable.html#detectWithIfNone(org.eclipse.collections.api.block.predicate.Predicate2,P,org.eclipse.collections.api.block.function.Function0)">detectWithIfNone</a>, <a href="../../../api/RichIterable.html#detectWithOptional(org.eclipse.collections.api.block.predicate.Predicate2,P)">detectWithOptional</a>, <a href="../../../api/RichIterable.html#each(org.eclipse.collections.api.block.procedure.Procedure)">each</a>, <a href="../../../api/RichIterable.html#flatCollect(org.eclipse.collections.api.block.function.Function,R)">flatCollect</a>, <a href="../../../api/RichIterable.html#flatCollectBoolean(org.eclipse.collections.api.block.function.Function,R)">flatCollectBoolean</a>, <a href="../../../api/RichIterable.html#flatCollectByte(org.eclipse.collections.api.block.function.Function,R)">flatCollectByte</a>, <a href="../../../api/RichIterable.html#flatCollectChar(org.eclipse.collections.api.block.function.Function,R)">flatCollectChar</a>, <a href="../../../api/RichIterable.html#flatCollectDouble(org.eclipse.collections.api.block.function.Function,R)">flatCollectDouble</a>, <a href="../../../api/RichIterable.html#flatCollectFloat(org.eclipse.collections.api.block.function.Function,R)">flatCollectFloat</a>, <a href="../../../api/RichIterable.html#flatCollectInt(org.eclipse.collections.api.block.function.Function,R)">flatCollectInt</a>, <a href="../../../api/RichIterable.html#flatCollectLong(org.eclipse.collections.api.block.function.Function,R)">flatCollectLong</a>, <a href="../../../api/RichIterable.html#flatCollectShort(org.eclipse.collections.api.block.function.Function,R)">flatCollectShort</a>, <a href="../../../api/RichIterable.html#flatCollectWith(org.eclipse.collections.api.block.function.Function2,P,R)">flatCollectWith</a>, <a href="../../../api/RichIterable.html#forEach(org.eclipse.collections.api.block.procedure.Procedure)">forEach</a>, <a href="../../../api/RichIterable.html#getAny()">getAny</a>, <a href="../../../api/RichIterable.html#getFirst()">getFirst</a>, <a href="../../../api/RichIterable.html#getLast()">getLast</a>, <a href="../../../api/RichIterable.html#getOnly()">getOnly</a>, <a href="../../../api/RichIterable.html#groupByAndCollect(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function,R)">groupByAndCollect</a>, <a href="../../../api/RichIterable.html#groupByUniqueKey(org.eclipse.collections.api.block.function.Function,R)">groupByUniqueKey</a>, <a href="../../../api/RichIterable.html#injectInto(double,org.eclipse.collections.api.block.function.primitive.DoubleObjectToDoubleFunction)">injectInto</a>, <a href="../../../api/RichIterable.html#injectInto(float,org.eclipse.collections.api.block.function.primitive.FloatObjectToFloatFunction)">injectInto</a>, <a href="../../../api/RichIterable.html#injectInto(int,org.eclipse.collections.api.block.function.primitive.IntObjectToIntFunction)">injectInto</a>, <a href="../../../api/RichIterable.html#injectInto(long,org.eclipse.collections.api.block.function.primitive.LongObjectToLongFunction)">injectInto</a>, <a href="../../../api/RichIterable.html#injectInto(IV,org.eclipse.collections.api.block.function.Function2)">injectInto</a>, <a href="../../../api/RichIterable.html#into(R)">into</a>, <a href="../../../api/RichIterable.html#isEmpty()">isEmpty</a>, <a href="../../../api/RichIterable.html#makeString()">makeString</a>, <a href="../../../api/RichIterable.html#makeString(java.lang.String)">makeString</a>, <a href="../../../api/RichIterable.html#makeString(java.lang.String,java.lang.String,java.lang.String)">makeString</a>, <a href="../../../api/RichIterable.html#max()">max</a>, <a href="../../../api/RichIterable.html#max(java.util.Comparator)">max</a>, <a href="../../../api/RichIterable.html#maxBy(org.eclipse.collections.api.block.function.Function)">maxBy</a>, <a href="../../../api/RichIterable.html#maxByOptional(org.eclipse.collections.api.block.function.Function)">maxByOptional</a>, <a href="../../../api/RichIterable.html#maxOptional()">maxOptional</a>, <a href="../../../api/RichIterable.html#maxOptional(java.util.Comparator)">maxOptional</a>, <a href="../../../api/RichIterable.html#min()">min</a>, <a href="../../../api/RichIterable.html#min(java.util.Comparator)">min</a>, <a href="../../../api/RichIterable.html#minBy(org.eclipse.collections.api.block.function.Function)">minBy</a>, <a href="../../../api/RichIterable.html#minByOptional(org.eclipse.collections.api.block.function.Function)">minByOptional</a>, <a href="../../../api/RichIterable.html#minOptional()">minOptional</a>, <a href="../../../api/RichIterable.html#minOptional(java.util.Comparator)">minOptional</a>, <a href="../../../api/RichIterable.html#noneSatisfy(org.eclipse.collections.api.block.predicate.Predicate)">noneSatisfy</a>, <a href="../../../api/RichIterable.html#noneSatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">noneSatisfyWith</a>, <a href="../../../api/RichIterable.html#notEmpty()">notEmpty</a>, <a href="../../../api/RichIterable.html#reduce(java.util.function.BinaryOperator)">reduce</a>, <a href="../../../api/RichIterable.html#reduceInPlace(java.util.function.Supplier,java.util.function.BiConsumer)">reduceInPlace</a>, <a href="../../../api/RichIterable.html#reduceInPlace(java.util.stream.Collector)">reduceInPlace</a>, <a href="../../../api/RichIterable.html#reject(org.eclipse.collections.api.block.predicate.Predicate,R)">reject</a>, <a href="../../../api/RichIterable.html#rejectWith(org.eclipse.collections.api.block.predicate.Predicate2,P,R)">rejectWith</a>, <a href="../../../api/RichIterable.html#select(org.eclipse.collections.api.block.predicate.Predicate,R)">select</a>, <a href="../../../api/RichIterable.html#selectWith(org.eclipse.collections.api.block.predicate.Predicate2,P,R)">selectWith</a>, <a href="../../../api/RichIterable.html#size()">size</a>, <a href="../../../api/RichIterable.html#summarizeDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction)">summarizeDouble</a>, <a href="../../../api/RichIterable.html#summarizeFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction)">summarizeFloat</a>, <a href="../../../api/RichIterable.html#summarizeInt(org.eclipse.collections.api.block.function.primitive.IntFunction)">summarizeInt</a>, <a href="../../../api/RichIterable.html#summarizeLong(org.eclipse.collections.api.block.function.primitive.LongFunction)">summarizeLong</a>, <a href="../../../api/RichIterable.html#sumOfDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction)">sumOfDouble</a>, <a href="../../../api/RichIterable.html#sumOfFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction)">sumOfFloat</a>, <a href="../../../api/RichIterable.html#sumOfInt(org.eclipse.collections.api.block.function.primitive.IntFunction)">sumOfInt</a>, <a href="../../../api/RichIterable.html#sumOfLong(org.eclipse.collections.api.block.function.primitive.LongFunction)">sumOfLong</a>, <a href="../../../api/RichIterable.html#toArray()">toArray</a>, <a href="../../../api/RichIterable.html#toArray(E%5B%5D)">toArray</a>, <a href="../../../api/RichIterable.html#toBag()">toBag</a>, <a href="../../../api/RichIterable.html#toBiMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toBiMap</a>, <a href="../../../api/RichIterable.html#toList()">toList</a>, <a href="../../../api/RichIterable.html#toMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toMap</a>, <a href="../../../api/RichIterable.html#toMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function,R)">toMap</a>, <a href="../../../api/RichIterable.html#toSet()">toSet</a>, <a href="../../../api/RichIterable.html#toSortedBag()">toSortedBag</a>, <a href="../../../api/RichIterable.html#toSortedBag(java.util.Comparator)">toSortedBag</a>, <a href="../../../api/RichIterable.html#toSortedBagBy(org.eclipse.collections.api.block.function.Function)">toSortedBagBy</a>, <a href="../../../api/RichIterable.html#toSortedList()">toSortedList</a>, <a href="../../../api/RichIterable.html#toSortedList(java.util.Comparator)">toSortedList</a>, <a href="../../../api/RichIterable.html#toSortedListBy(org.eclipse.collections.api.block.function.Function)">toSortedListBy</a>, <a href="../../../api/RichIterable.html#toSortedMap(java.util.Comparator,org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toSortedMap</a>, <a href="../../../api/RichIterable.html#toSortedMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toSortedMap</a>, <a href="../../../api/RichIterable.html#toSortedMapBy(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toSortedMapBy</a>, <a href="../../../api/RichIterable.html#toSortedSet()">toSortedSet</a>, <a href="../../../api/RichIterable.html#toSortedSet(java.util.Comparator)">toSortedSet</a>, <a href="../../../api/RichIterable.html#toSortedSetBy(org.eclipse.collections.api.block.function.Function)">toSortedSetBy</a>, <a href="../../../api/RichIterable.html#toString()">toString</a>, <a href="../../../api/RichIterable.html#zip(java.lang.Iterable,R)">zip</a>, <a href="../../../api/RichIterable.html#zipWithIndex(R)">zipWithIndex</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a></h3>
<a id="methods.inherited.from.class.java.util.Set">
<!--   -->
</a><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#add(E)" title="class or interface in java.util" class="externalLink">add</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#addAll(java.util.Collection)" title="class or interface in java.util" class="externalLink">addAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#clear()" title="class or interface in java.util" class="externalLink">clear</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#contains(java.lang.Object)" title="class or interface in java.util" class="externalLink">contains</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#containsAll(java.util.Collection)" title="class or interface in java.util" class="externalLink">containsAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.util" class="externalLink">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#hashCode()" title="class or interface in java.util" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#isEmpty()" title="class or interface in java.util" class="externalLink">isEmpty</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#iterator()" title="class or interface in java.util" class="externalLink">iterator</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#remove(java.lang.Object)" title="class or interface in java.util" class="externalLink">remove</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#removeAll(java.util.Collection)" title="class or interface in java.util" class="externalLink">removeAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#retainAll(java.util.Collection)" title="class or interface in java.util" class="externalLink">retainAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#size()" title="class or interface in java.util" class="externalLink">size</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#spliterator()" title="class or interface in java.util" class="externalLink">spliterator</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#toArray()" title="class or interface in java.util" class="externalLink">toArray</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true#toArray(T%5B%5D)" title="class or interface in java.util" class="externalLink">toArray</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;org.eclipse.collections.api.set.<a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.set.SetIterable">
<!--   -->
</a><code><a href="../../../api/set/SetIterable.html#equals(java.lang.Object)">equals</a>, <a href="../../../api/set/SetIterable.html#hashCode()">hashCode</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!--   -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;()">AbstractImmutableSet</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">AbstractImmutableSet</span>()</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!--   -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="castToSet()">castToSet</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</span>&nbsp;<span class="memberName">castToSet</span>()</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#castToSet()">castToSet</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="newWith(java.lang.Object)">
<!--   -->
</a><a id="newWith(T)">newWith</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</span>&nbsp;<span class="memberName">newWith</span>&#8203;(<span class="arguments"><a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&nbsp;element)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html#newWith(T)">ImmutableCollection</a></code></span></div>
<div class="block">This method is similar to the <code>with</code> method in <code>MutableCollection</code>
 with the difference that a new copy of this collection with the element appended will be returned.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#newWith(T)">newWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#newWith(T)">newWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="newWithout(java.lang.Object)">
<!--   -->
</a><a id="newWithout(T)">newWithout</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</span>&nbsp;<span class="memberName">newWithout</span>&#8203;(<span class="arguments"><a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&nbsp;element)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html#newWithout(T)">ImmutableCollection</a></code></span></div>
<div class="block">This method is similar to the <code>without</code> method in <code>MutableCollection</code>
 with the difference that a new copy of this collection with the element removed will be returned.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#newWithout(T)">newWithout</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#newWithout(T)">newWithout</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="newWithAll(java.lang.Iterable)">newWithAll</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</span>&nbsp;<span class="memberName">newWithAll</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Iterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;elements)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html#newWithAll(java.lang.Iterable)">ImmutableCollection</a></code></span></div>
<div class="block">This method is similar to the <code>withAll</code> method in <code>MutableCollection</code>
 with the difference that a new copy of this collection with the elements appended will be returned.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#newWithAll(java.lang.Iterable)">newWithAll</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#newWithAll(java.lang.Iterable)">newWithAll</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="newWithoutAll(java.lang.Iterable)">newWithoutAll</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</span>&nbsp;<span class="memberName">newWithoutAll</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Iterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;elements)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html#newWithoutAll(java.lang.Iterable)">ImmutableCollection</a></code></span></div>
<div class="block">This method is similar to the <code>withoutAll</code> method in <code>MutableCollection</code>
 with the difference that a new copy of this collection with the elements removed will be returned.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#newWithoutAll(java.lang.Iterable)">newWithoutAll</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#newWithoutAll(java.lang.Iterable)">newWithoutAll</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="tap(org.eclipse.collections.api.block.procedure.Procedure)">tap</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</span>&nbsp;<span class="memberName">tap</span>&#8203;(<span class="arguments"><a href="../../../api/block/procedure/Procedure.html" title="interface in org.eclipse.collections.api.block.procedure">Procedure</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;procedure)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#tap(org.eclipse.collections.api.block.procedure.Procedure)">RichIterable</a></code></span></div>
<div class="block">Executes the Procedure for each element in the iterable and returns <code>this</code>.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 RichIterable&lt;Person&gt; tapped =
     people.<b>tap</b>(person -&gt; LOGGER.info(person.getName()));
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 RichIterable&lt;Person&gt; tapped =
     people.<b>tap</b>(new Procedure&lt;Person&gt;()
     {
         public void value(Person person)
         {
             LOGGER.info(person.getName());
         }
     });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#tap(org.eclipse.collections.api.block.procedure.Procedure)">tap</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#tap(org.eclipse.collections.api.block.procedure.Procedure)">tap</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSetIterable.html#tap(org.eclipse.collections.api.block.procedure.Procedure)">tap</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSetIterable.html" title="interface in org.eclipse.collections.api.set">ImmutableSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#tap(org.eclipse.collections.api.block.procedure.Procedure)">tap</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#tap(org.eclipse.collections.api.block.procedure.Procedure)">tap</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#tap(org.eclipse.collections.api.block.procedure.Procedure)">tap</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../api/RichIterable.html#each(org.eclipse.collections.api.block.procedure.Procedure)"><code>RichIterable.each(Procedure)</code></a>, 
<a href="../../../api/RichIterable.html#forEach(org.eclipse.collections.api.block.procedure.Procedure)"><code>RichIterable.forEach(Procedure)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="select(org.eclipse.collections.api.block.predicate.Predicate)">select</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</span>&nbsp;<span class="memberName">select</span>&#8203;(<span class="arguments"><a href="../../../api/block/predicate/Predicate.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#select(org.eclipse.collections.api.block.predicate.Predicate)">RichIterable</a></code></span></div>
<div class="block">Returns all elements of the source collection that return true when evaluating the predicate. This method is also
 commonly called filter.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 RichIterable&lt;Person&gt; selected =
     people.<b>select</b>(person -&gt; person.getAddress().getCity().equals("London"));
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 RichIterable&lt;Person&gt; selected =
     people.<b>select</b>(new Predicate&lt;Person&gt;()
     {
         public boolean accept(Person person)
         {
             return person.getAddress().getCity().equals("London");
         }
     });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#select(org.eclipse.collections.api.block.predicate.Predicate)">select</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#select(org.eclipse.collections.api.block.predicate.Predicate)">select</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSetIterable.html#select(org.eclipse.collections.api.block.predicate.Predicate)">select</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSetIterable.html" title="interface in org.eclipse.collections.api.set">ImmutableSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#select(org.eclipse.collections.api.block.predicate.Predicate)">select</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#select(org.eclipse.collections.api.block.predicate.Predicate)">select</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#select(org.eclipse.collections.api.block.predicate.Predicate)">select</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="selectWith(org.eclipse.collections.api.block.predicate.Predicate2,java.lang.Object)">
<!--   -->
</a><a id="selectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">selectWith</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;P&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</span>&nbsp;<span class="memberName">selectWith</span>&#8203;(<span class="arguments"><a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate2</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? super P&gt;&nbsp;predicate,
P&nbsp;parameter)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#selectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">RichIterable</a></code></span></div>
<div class="block">Similar to <a href="../../../api/RichIterable.html#select(org.eclipse.collections.api.block.predicate.Predicate)"><code>RichIterable.select(Predicate)</code></a>, except with an evaluation parameter for the second generic argument in <a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate"><code>Predicate2</code></a>.
 <p>
 E.g. return a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Collection</code></a> of Person elements where the person has an age <b>greater than or equal to</b> 18 years
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 RichIterable&lt;Person&gt; selected =
     people.selectWith((Person person, Integer age) -&gt; person.getAge()&gt;= age, Integer.valueOf(18));
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 RichIterable&lt;Person&gt; selected =
     people.selectWith(new Predicate2&lt;Person, Integer&gt;()
     {
         public boolean accept(Person person, Integer age)
         {
             return person.getAge()&gt;= age;
         }
     }, Integer.valueOf(18));
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#selectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">selectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#selectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">selectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSetIterable.html#selectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">selectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSetIterable.html" title="interface in org.eclipse.collections.api.set">ImmutableSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#selectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">selectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#selectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">selectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#selectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">selectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>predicate</code> - a <a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate"><code>Predicate2</code></a> to use as the select criteria</dd>
<dd><code>parameter</code> - a parameter to pass in for evaluation of the second argument <code>P</code> in <code>predicate</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../api/RichIterable.html#select(org.eclipse.collections.api.block.predicate.Predicate)"><code>RichIterable.select(Predicate)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="reject(org.eclipse.collections.api.block.predicate.Predicate)">reject</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</span>&nbsp;<span class="memberName">reject</span>&#8203;(<span class="arguments"><a href="../../../api/block/predicate/Predicate.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#reject(org.eclipse.collections.api.block.predicate.Predicate)">RichIterable</a></code></span></div>
<div class="block">Returns all elements of the source collection that return false when evaluating of the predicate. This method is also
 sometimes called filterNot and is the equivalent of calling iterable.select(Predicates.not(predicate)).
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 RichIterable&lt;Person&gt; rejected =
     people.reject(person -&gt; person.person.getLastName().equals("Smith"));
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 RichIterable&lt;Person&gt; rejected =
     people.reject(new Predicate&lt;Person&gt;()
     {
         public boolean accept(Person person)
         {
             return person.person.getLastName().equals("Smith");
         }
     });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#reject(org.eclipse.collections.api.block.predicate.Predicate)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#reject(org.eclipse.collections.api.block.predicate.Predicate)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSetIterable.html#reject(org.eclipse.collections.api.block.predicate.Predicate)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSetIterable.html" title="interface in org.eclipse.collections.api.set">ImmutableSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#reject(org.eclipse.collections.api.block.predicate.Predicate)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#reject(org.eclipse.collections.api.block.predicate.Predicate)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#reject(org.eclipse.collections.api.block.predicate.Predicate)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>predicate</code> - a <a href="../../../api/block/predicate/Predicate.html" title="interface in org.eclipse.collections.api.block.predicate"><code>Predicate</code></a> to use as the reject criteria</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a RichIterable that contains elements that cause <a href="../../../api/block/predicate/Predicate.html#accept(T)"><code>Predicate.accept(Object)</code></a> method to evaluate to false</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="rejectWith(org.eclipse.collections.api.block.predicate.Predicate2,java.lang.Object)">
<!--   -->
</a><a id="rejectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">rejectWith</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;P&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</span>&nbsp;<span class="memberName">rejectWith</span>&#8203;(<span class="arguments"><a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate2</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? super P&gt;&nbsp;predicate,
P&nbsp;parameter)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#rejectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">RichIterable</a></code></span></div>
<div class="block">Similar to <a href="../../../api/RichIterable.html#reject(org.eclipse.collections.api.block.predicate.Predicate)"><code>RichIterable.reject(Predicate)</code></a>, except with an evaluation parameter for the second generic argument in <a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate"><code>Predicate2</code></a>.
 <p>
 E.g. return a <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Collection</code></a> of Person elements where the person has an age <b>greater than or equal to</b> 18 years
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 RichIterable&lt;Person&gt; rejected =
     people.rejectWith((Person person, Integer age) -&gt; person.getAge() &lt; age, Integer.valueOf(18));
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 MutableList&lt;Person&gt; rejected =
     people.rejectWith(new Predicate2&lt;Person, Integer&gt;()
     {
         public boolean accept(Person person, Integer age)
         {
             return person.getAge() &lt; age;
         }
     }, Integer.valueOf(18));
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#rejectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">rejectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#rejectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">rejectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSetIterable.html#rejectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">rejectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSetIterable.html" title="interface in org.eclipse.collections.api.set">ImmutableSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#rejectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">rejectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#rejectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">rejectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#rejectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">rejectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>predicate</code> - a <a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate"><code>Predicate2</code></a> to use as the select criteria</dd>
<dd><code>parameter</code> - a parameter to pass in for evaluation of the second argument <code>P</code> in <code>predicate</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../api/RichIterable.html#select(org.eclipse.collections.api.block.predicate.Predicate)"><code>RichIterable.select(Predicate)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="partition(org.eclipse.collections.api.block.predicate.Predicate)">partition</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/partition/set/PartitionImmutableSet.html" title="interface in org.eclipse.collections.api.partition.set">PartitionImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</span>&nbsp;<span class="memberName">partition</span>&#8203;(<span class="arguments"><a href="../../../api/block/predicate/Predicate.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#partition(org.eclipse.collections.api.block.predicate.Predicate)">RichIterable</a></code></span></div>
<div class="block">Filters a collection into a PartitionedIterable based on the evaluation of the predicate.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 PartitionIterable&lt;Person&gt; newYorkersAndNonNewYorkers =
     people.<b>partition</b>(person -&gt; person.getAddress().getState().getName().equals("New York"));
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 PartitionIterable&lt;Person&gt; newYorkersAndNonNewYorkers =
     people.<b>partition</b>(new Predicate&lt;Person&gt;()
     {
         public boolean accept(Person person)
         {
             return person.getAddress().getState().getName().equals("New York");
         }
     });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#partition(org.eclipse.collections.api.block.predicate.Predicate)">partition</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#partition(org.eclipse.collections.api.block.predicate.Predicate)">partition</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSetIterable.html#partition(org.eclipse.collections.api.block.predicate.Predicate)">partition</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSetIterable.html" title="interface in org.eclipse.collections.api.set">ImmutableSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#partition(org.eclipse.collections.api.block.predicate.Predicate)">partition</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#partition(org.eclipse.collections.api.block.predicate.Predicate)">partition</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="partitionWith(org.eclipse.collections.api.block.predicate.Predicate2,java.lang.Object)">
<!--   -->
</a><a id="partitionWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">partitionWith</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;P&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/partition/set/PartitionImmutableSet.html" title="interface in org.eclipse.collections.api.partition.set">PartitionImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</span>&nbsp;<span class="memberName">partitionWith</span>&#8203;(<span class="arguments"><a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate2</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? super P&gt;&nbsp;predicate,
P&nbsp;parameter)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#partitionWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">RichIterable</a></code></span></div>
<div class="block">Filters a collection into a PartitionIterable based on the evaluation of the predicate.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 PartitionIterable&lt;Person&gt; newYorkersAndNonNewYorkers =
     people.<b>partitionWith</b>((Person person, String state) -&gt; person.getAddress().getState().getName().equals(state), "New York");
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 PartitionIterable&lt;Person&gt; newYorkersAndNonNewYorkers =
     people.<b>partitionWith</b>(new Predicate2&lt;Person, String&gt;()
     {
         public boolean accept(Person person, String state)
         {
             return person.getAddress().getState().getName().equals(state);
         }
     }, "New York");
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#partitionWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">partitionWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#partitionWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">partitionWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSetIterable.html#partitionWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">partitionWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSetIterable.html" title="interface in org.eclipse.collections.api.set">ImmutableSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#partitionWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">partitionWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#partitionWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">partitionWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="selectInstancesOf(java.lang.Class)">selectInstancesOf</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;S&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;S&gt;</span>&nbsp;<span class="memberName">selectInstancesOf</span>&#8203;(<span class="arguments"><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;S&gt;&nbsp;clazz)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#selectInstancesOf(java.lang.Class)">RichIterable</a></code></span></div>
<div class="block">Returns all elements of the source collection that are instances of the Class <code>clazz</code>.

 <pre>
 RichIterable&lt;Integer&gt; integers =
     List.mutable.with(new Integer(0), new Long(0L), new Double(0.0)).selectInstancesOf(Integer.class);
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#selectInstancesOf(java.lang.Class)">selectInstancesOf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#selectInstancesOf(java.lang.Class)">selectInstancesOf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSetIterable.html#selectInstancesOf(java.lang.Class)">selectInstancesOf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSetIterable.html" title="interface in org.eclipse.collections.api.set">ImmutableSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#selectInstancesOf(java.lang.Class)">selectInstancesOf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#selectInstancesOf(java.lang.Class)">selectInstancesOf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#selectInstancesOf(java.lang.Class)">selectInstancesOf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="collect(org.eclipse.collections.api.block.function.Function)">collect</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;V&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;V&gt;</span>&nbsp;<span class="memberName">collect</span>&#8203;(<span class="arguments"><a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? extends V&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#collect(org.eclipse.collections.api.block.function.Function)">RichIterable</a></code></span></div>
<div class="block">Returns a new collection with the results of applying the specified function on each element of the source
 collection. This method is also commonly called transform or map.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 RichIterable&lt;String&gt; names =
     people.collect(person -&gt; person.getFirstName() + " " + person.getLastName());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 RichIterable&lt;String&gt; names =
     people.collect(new Function&lt;Person, String&gt;()
     {
         public String valueOf(Person person)
         {
             return person.getFirstName() + " " + person.getLastName();
         }
     });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#collect(org.eclipse.collections.api.block.function.Function)">collect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#collect(org.eclipse.collections.api.block.function.Function)">collect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#collect(org.eclipse.collections.api.block.function.Function)">collect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#collect(org.eclipse.collections.api.block.function.Function)">collect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="collectBoolean(org.eclipse.collections.api.block.function.primitive.BooleanFunction)">collectBoolean</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/primitive/ImmutableBooleanSet.html" title="interface in org.eclipse.collections.api.set.primitive">ImmutableBooleanSet</a></span>&nbsp;<span class="memberName">collectBoolean</span>&#8203;(<span class="arguments"><a href="../../../api/block/function/primitive/BooleanFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">BooleanFunction</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;booleanFunction)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#collectBoolean(org.eclipse.collections.api.block.function.primitive.BooleanFunction)">RichIterable</a></code></span></div>
<div class="block">Returns a new primitive <code>boolean</code> iterable with the results of applying the specified function on each element
 of the source collection. This method is also commonly called transform or map.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 BooleanIterable licenses =
     people.collectBoolean(person -&gt; person.hasDrivingLicense());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 BooleanIterable licenses =
     people.collectBoolean(new BooleanFunction&lt;Person&gt;()
     {
         public boolean booleanValueOf(Person person)
         {
             return person.hasDrivingLicense();
         }
     });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#collectBoolean(org.eclipse.collections.api.block.function.primitive.BooleanFunction)">collectBoolean</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#collectBoolean(org.eclipse.collections.api.block.function.primitive.BooleanFunction)">collectBoolean</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#collectBoolean(org.eclipse.collections.api.block.function.primitive.BooleanFunction)">collectBoolean</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#collectBoolean(org.eclipse.collections.api.block.function.primitive.BooleanFunction)">collectBoolean</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="collectByte(org.eclipse.collections.api.block.function.primitive.ByteFunction)">collectByte</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/primitive/ImmutableByteSet.html" title="interface in org.eclipse.collections.api.set.primitive">ImmutableByteSet</a></span>&nbsp;<span class="memberName">collectByte</span>&#8203;(<span class="arguments"><a href="../../../api/block/function/primitive/ByteFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">ByteFunction</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;byteFunction)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#collectByte(org.eclipse.collections.api.block.function.primitive.ByteFunction)">RichIterable</a></code></span></div>
<div class="block">Returns a new primitive <code>byte</code> iterable with the results of applying the specified function on each element
 of the source collection. This method is also commonly called transform or map.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 ByteIterable bytes =
     people.collectByte(person -&gt; person.getCode());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 ByteIterable bytes =
     people.collectByte(new ByteFunction&lt;Person&gt;()
     {
         public byte byteValueOf(Person person)
         {
             return person.getCode();
         }
     });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#collectByte(org.eclipse.collections.api.block.function.primitive.ByteFunction)">collectByte</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#collectByte(org.eclipse.collections.api.block.function.primitive.ByteFunction)">collectByte</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#collectByte(org.eclipse.collections.api.block.function.primitive.ByteFunction)">collectByte</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#collectByte(org.eclipse.collections.api.block.function.primitive.ByteFunction)">collectByte</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="collectChar(org.eclipse.collections.api.block.function.primitive.CharFunction)">collectChar</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/primitive/ImmutableCharSet.html" title="interface in org.eclipse.collections.api.set.primitive">ImmutableCharSet</a></span>&nbsp;<span class="memberName">collectChar</span>&#8203;(<span class="arguments"><a href="../../../api/block/function/primitive/CharFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">CharFunction</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;charFunction)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#collectChar(org.eclipse.collections.api.block.function.primitive.CharFunction)">RichIterable</a></code></span></div>
<div class="block">Returns a new primitive <code>char</code> iterable with the results of applying the specified function on each element
 of the source collection. This method is also commonly called transform or map.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 CharIterable chars =
     people.collectChar(person -&gt; person.getMiddleInitial());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 CharIterable chars =
     people.collectChar(new CharFunction&lt;Person&gt;()
     {
         public char charValueOf(Person person)
         {
             return person.getMiddleInitial();
         }
     });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#collectChar(org.eclipse.collections.api.block.function.primitive.CharFunction)">collectChar</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#collectChar(org.eclipse.collections.api.block.function.primitive.CharFunction)">collectChar</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#collectChar(org.eclipse.collections.api.block.function.primitive.CharFunction)">collectChar</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#collectChar(org.eclipse.collections.api.block.function.primitive.CharFunction)">collectChar</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="collectDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction)">collectDouble</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/primitive/ImmutableDoubleSet.html" title="interface in org.eclipse.collections.api.set.primitive">ImmutableDoubleSet</a></span>&nbsp;<span class="memberName">collectDouble</span>&#8203;(<span class="arguments"><a href="../../../api/block/function/primitive/DoubleFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">DoubleFunction</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;doubleFunction)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#collectDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction)">RichIterable</a></code></span></div>
<div class="block">Returns a new primitive <code>double</code> iterable with the results of applying the specified function on each element
 of the source collection. This method is also commonly called transform or map.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 DoubleIterable doubles =
     people.collectDouble(person -&gt; person.getMilesFromNorthPole());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 DoubleIterable doubles =
     people.collectDouble(new DoubleFunction&lt;Person&gt;()
     {
         public double doubleValueOf(Person person)
         {
             return person.getMilesFromNorthPole();
         }
     });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#collectDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction)">collectDouble</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#collectDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction)">collectDouble</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#collectDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction)">collectDouble</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#collectDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction)">collectDouble</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="collectFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction)">collectFloat</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/primitive/ImmutableFloatSet.html" title="interface in org.eclipse.collections.api.set.primitive">ImmutableFloatSet</a></span>&nbsp;<span class="memberName">collectFloat</span>&#8203;(<span class="arguments"><a href="../../../api/block/function/primitive/FloatFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">FloatFunction</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;floatFunction)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#collectFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction)">RichIterable</a></code></span></div>
<div class="block">Returns a new primitive <code>float</code> iterable with the results of applying the specified function on each element
 of the source collection. This method is also commonly called transform or map.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 FloatIterable floats =
     people.collectFloat(person -&gt; person.getHeightInInches());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 FloatIterable floats =
     people.collectFloat(new FloatFunction&lt;Person&gt;()
     {
         public float floatValueOf(Person person)
         {
             return person.getHeightInInches();
         }
     });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#collectFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction)">collectFloat</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#collectFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction)">collectFloat</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#collectFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction)">collectFloat</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#collectFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction)">collectFloat</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="collectInt(org.eclipse.collections.api.block.function.primitive.IntFunction)">collectInt</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/primitive/ImmutableIntSet.html" title="interface in org.eclipse.collections.api.set.primitive">ImmutableIntSet</a></span>&nbsp;<span class="memberName">collectInt</span>&#8203;(<span class="arguments"><a href="../../../api/block/function/primitive/IntFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">IntFunction</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;intFunction)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#collectInt(org.eclipse.collections.api.block.function.primitive.IntFunction)">RichIterable</a></code></span></div>
<div class="block">Returns a new primitive <code>int</code> iterable with the results of applying the specified function on each element
 of the source collection. This method is also commonly called transform or map.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 IntIterable ints =
     people.collectInt(person -&gt; person.getAge());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 IntIterable ints =
     people.collectInt(new IntFunction&lt;Person&gt;()
     {
         public int intValueOf(Person person)
         {
             return person.getAge();
         }
     });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#collectInt(org.eclipse.collections.api.block.function.primitive.IntFunction)">collectInt</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#collectInt(org.eclipse.collections.api.block.function.primitive.IntFunction)">collectInt</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#collectInt(org.eclipse.collections.api.block.function.primitive.IntFunction)">collectInt</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#collectInt(org.eclipse.collections.api.block.function.primitive.IntFunction)">collectInt</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="collectLong(org.eclipse.collections.api.block.function.primitive.LongFunction)">collectLong</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/primitive/ImmutableLongSet.html" title="interface in org.eclipse.collections.api.set.primitive">ImmutableLongSet</a></span>&nbsp;<span class="memberName">collectLong</span>&#8203;(<span class="arguments"><a href="../../../api/block/function/primitive/LongFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">LongFunction</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;longFunction)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#collectLong(org.eclipse.collections.api.block.function.primitive.LongFunction)">RichIterable</a></code></span></div>
<div class="block">Returns a new primitive <code>long</code> iterable with the results of applying the specified function on each element
 of the source collection. This method is also commonly called transform or map.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 LongIterable longs =
     people.collectLong(person -&gt; person.getGuid());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 LongIterable longs =
     people.collectLong(new LongFunction&lt;Person&gt;()
     {
         public long longValueOf(Person person)
         {
             return person.getGuid();
         }
     });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#collectLong(org.eclipse.collections.api.block.function.primitive.LongFunction)">collectLong</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#collectLong(org.eclipse.collections.api.block.function.primitive.LongFunction)">collectLong</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#collectLong(org.eclipse.collections.api.block.function.primitive.LongFunction)">collectLong</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#collectLong(org.eclipse.collections.api.block.function.primitive.LongFunction)">collectLong</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="collectShort(org.eclipse.collections.api.block.function.primitive.ShortFunction)">collectShort</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/primitive/ImmutableShortSet.html" title="interface in org.eclipse.collections.api.set.primitive">ImmutableShortSet</a></span>&nbsp;<span class="memberName">collectShort</span>&#8203;(<span class="arguments"><a href="../../../api/block/function/primitive/ShortFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">ShortFunction</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;shortFunction)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#collectShort(org.eclipse.collections.api.block.function.primitive.ShortFunction)">RichIterable</a></code></span></div>
<div class="block">Returns a new primitive <code>short</code> iterable with the results of applying the specified function on each element
 of the source collection. This method is also commonly called transform or map.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 ShortIterable shorts =
     people.collectShort(person -&gt; person.getNumberOfJunkMailItemsReceivedPerMonth());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 ShortIterable shorts =
     people.collectShort(new ShortFunction&lt;Person&gt;()
     {
         public short shortValueOf(Person person)
         {
             return person.getNumberOfJunkMailItemsReceivedPerMonth();
         }
     });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#collectShort(org.eclipse.collections.api.block.function.primitive.ShortFunction)">collectShort</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#collectShort(org.eclipse.collections.api.block.function.primitive.ShortFunction)">collectShort</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#collectShort(org.eclipse.collections.api.block.function.primitive.ShortFunction)">collectShort</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#collectShort(org.eclipse.collections.api.block.function.primitive.ShortFunction)">collectShort</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="collectWith(org.eclipse.collections.api.block.function.Function2,java.lang.Object)">
<!--   -->
</a><a id="collectWith(org.eclipse.collections.api.block.function.Function2,P)">collectWith</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;P,&#8203;
V&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;V&gt;</span>&nbsp;<span class="memberName">collectWith</span>&#8203;(<span class="arguments"><a href="../../../api/block/function/Function2.html" title="interface in org.eclipse.collections.api.block.function">Function2</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? super P,&#8203;? extends V&gt;&nbsp;function,
P&nbsp;parameter)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#collectWith(org.eclipse.collections.api.block.function.Function2,P)">RichIterable</a></code></span></div>
<div class="block">Same as <a href="../../../api/RichIterable.html#collect(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.collect(Function)</code></a> with a <code>Function2</code> and specified parameter which is passed to the block.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 RichIterable&lt;Integer&gt; integers =
     Lists.mutable.with(1, 2, 3).collectWith((each, parameter) -&gt; each + parameter, Integer.valueOf(1));
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 Function2&lt;Integer, Integer, Integer&gt; addParameterFunction =
     new Function2&lt;Integer, Integer, Integer&gt;()
     {
         public Integer value(Integer each, Integer parameter)
         {
             return each + parameter;
         }
     };
 RichIterable&lt;Integer&gt; integers =
     Lists.mutable.with(1, 2, 3).collectWith(addParameterFunction, Integer.valueOf(1));
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#collectWith(org.eclipse.collections.api.block.function.Function2,P)">collectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#collectWith(org.eclipse.collections.api.block.function.Function2,P)">collectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#collectWith(org.eclipse.collections.api.block.function.Function2,P)">collectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#collectWith(org.eclipse.collections.api.block.function.Function2,P)">collectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>function</code> - A <a href="../../../api/block/function/Function2.html" title="interface in org.eclipse.collections.api.block.function"><code>Function2</code></a> to use as the collect transformation function</dd>
<dd><code>parameter</code> - A parameter to pass in for evaluation of the second argument <code>P</code> in <code>function</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A new <code>RichIterable</code> that contains the transformed elements returned by <a href="../../../api/block/function/Function2.html#value(T1,T2)"><code>Function2.value(Object, Object)</code></a></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../api/RichIterable.html#collect(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.collect(Function)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="collectIf(org.eclipse.collections.api.block.predicate.Predicate,org.eclipse.collections.api.block.function.Function)">collectIf</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;V&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;V&gt;</span>&nbsp;<span class="memberName">collectIf</span>&#8203;(<span class="arguments"><a href="../../../api/block/predicate/Predicate.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;predicate,
<a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? extends V&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#collectIf(org.eclipse.collections.api.block.predicate.Predicate,org.eclipse.collections.api.block.function.Function)">RichIterable</a></code></span></div>
<div class="block">Returns a new collection with the results of applying the specified function on each element of the source
 collection, but only for those elements which return true upon evaluation of the predicate. This is the
 the optimized equivalent of calling iterable.select(predicate).collect(function).
 <p>
 Example using a Java 8 lambda and method reference:
 <pre>
 RichIterable&lt;String&gt; strings = Lists.mutable.with(1, 2, 3).collectIf(e -&gt; e != null, Object::toString);
 </pre>
 <p>
 Example using Predicates factory:
 <pre>
 RichIterable&lt;String&gt; strings = Lists.mutable.with(1, 2, 3).collectIf(Predicates.notNull(), Functions.getToString());
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#collectIf(org.eclipse.collections.api.block.predicate.Predicate,org.eclipse.collections.api.block.function.Function)">collectIf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#collectIf(org.eclipse.collections.api.block.predicate.Predicate,org.eclipse.collections.api.block.function.Function)">collectIf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#collectIf(org.eclipse.collections.api.block.predicate.Predicate,org.eclipse.collections.api.block.function.Function)">collectIf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#collectIf(org.eclipse.collections.api.block.predicate.Predicate,org.eclipse.collections.api.block.function.Function)">collectIf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="flatCollect(org.eclipse.collections.api.block.function.Function)">flatCollect</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;V&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;V&gt;</span>&nbsp;<span class="memberName">flatCollect</span>&#8203;(<span class="arguments"><a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Iterable</a>&lt;V&gt;&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#flatCollect(org.eclipse.collections.api.block.function.Function)">RichIterable</a></code></span></div>
<div class="block"><code>flatCollect</code> is a special case of <a href="../../../api/RichIterable.html#collect(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.collect(Function)</code></a>. With <code>collect</code>, when the <a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function"><code>Function</code></a> returns
 a collection, the result is a collection of collections. <code>flatCollect</code> outputs a single "flattened" collection
 instead. This method is commonly called flatMap.
 <p>
 Consider the following example where we have a <code>Person</code> class, and each <code>Person</code> has a list of <code>Address</code> objects. Take the following <a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function"><code>Function</code></a>:
 <pre>
 Function&lt;Person, List&lt;Address&gt;&gt; addressFunction = Person::getAddresses;
 RichIterable&lt;Person&gt; people = ...;
 </pre>
 Using <code>collect</code> returns a collection of collections of addresses.
 <pre>
 RichIterable&lt;List&lt;Address&gt;&gt; addresses = people.collect(addressFunction);
 </pre>
 Using <code>flatCollect</code> returns a single flattened list of addresses.
 <pre>
 RichIterable&lt;Address&gt; addresses = people.flatCollect(addressFunction);
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#flatCollect(org.eclipse.collections.api.block.function.Function)">flatCollect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#flatCollect(org.eclipse.collections.api.block.function.Function)">flatCollect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#flatCollect(org.eclipse.collections.api.block.function.Function)">flatCollect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#flatCollect(org.eclipse.collections.api.block.function.Function)">flatCollect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>function</code> - The <a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function"><code>Function</code></a> to apply</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new flattened collection produced by applying the given <code>function</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toImmutable()">toImmutable</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</span>&nbsp;<span class="memberName">toImmutable</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html#toImmutable()">UnsortedSetIterable</a></code></span></div>
<div class="block">Converts the UnsortedSetIterable to an immutable implementation. Returns this for immutable sets.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#toImmutable()">toImmutable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#toImmutable()">toImmutable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="groupBy(org.eclipse.collections.api.block.function.Function)">groupBy</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;V&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/multimap/set/ImmutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">ImmutableSetMultimap</a>&lt;V,&#8203;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</span>&nbsp;<span class="memberName">groupBy</span>&#8203;(<span class="arguments"><a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? extends V&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#groupBy(org.eclipse.collections.api.block.function.Function)">RichIterable</a></code></span></div>
<div class="block">For each element of the iterable, the function is evaluated and the results of these evaluations are collected
 into a new multimap, where the transformed value is the key and the original values are added to the same (or similar)
 species of collection as the source iterable.
 <p>
 Example using a Java 8 method reference:
 <pre>
 Multimap&lt;String, Person&gt; peopleByLastName =
     people.groupBy(Person::getLastName);
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 Multimap&lt;String, Person&gt; peopleByLastName =
     people.groupBy(new Function&lt;Person, String&gt;()
     {
         public String valueOf(Person person)
         {
             return person.getLastName();
         }
     });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#groupBy(org.eclipse.collections.api.block.function.Function)">groupBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#groupBy(org.eclipse.collections.api.block.function.Function)">groupBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSetIterable.html#groupBy(org.eclipse.collections.api.block.function.Function)">groupBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSetIterable.html" title="interface in org.eclipse.collections.api.set">ImmutableSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#groupBy(org.eclipse.collections.api.block.function.Function)">groupBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#groupBy(org.eclipse.collections.api.block.function.Function)">groupBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="groupBy(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.multimap.MutableMultimap)">
<!--   -->
</a><a id="groupBy(org.eclipse.collections.api.block.function.Function,R)">groupBy</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;V,&#8203;
R extends <a href="../../../api/multimap/MutableMultimap.html" title="interface in org.eclipse.collections.api.multimap">MutableMultimap</a>&lt;V,&#8203;
<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&gt;</span>&nbsp;<span class="returnType">R</span>&nbsp;<span class="memberName">groupBy</span>&#8203;(<span class="arguments"><a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? extends V&gt;&nbsp;function,
R&nbsp;target)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#groupBy(org.eclipse.collections.api.block.function.Function,R)">RichIterable</a></code></span></div>
<div class="block">Same as <a href="../../../api/RichIterable.html#groupBy(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.groupBy(Function)</code></a>, except that the results are gathered into the specified <code>target</code>
 multimap.
 <p>
 Example using a Java 8 method reference:
 <pre>
 FastListMultimap&lt;String, Person&gt; peopleByLastName =
     people.groupBy(Person::getLastName, new FastListMultimap&lt;String, Person&gt;());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 FastListMultimap&lt;String, Person&gt; peopleByLastName =
     people.groupBy(new Function&lt;Person, String&gt;()
     {
         public String valueOf(Person person)
         {
             return person.getLastName();
         }
     }, new FastListMultimap&lt;String, Person&gt;());
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#groupBy(org.eclipse.collections.api.block.function.Function,R)">groupBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../AbstractRichIterable.html#groupBy(org.eclipse.collections.api.block.function.Function,R)">groupBy</a></code>&nbsp;in class&nbsp;<code><a href="../../AbstractRichIterable.html" title="class in org.eclipse.collections.impl">AbstractRichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="groupByEach(org.eclipse.collections.api.block.function.Function)">groupByEach</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;V&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/multimap/set/ImmutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">ImmutableSetMultimap</a>&lt;V,&#8203;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</span>&nbsp;<span class="memberName">groupByEach</span>&#8203;(<span class="arguments"><a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Iterable</a>&lt;V&gt;&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#groupByEach(org.eclipse.collections.api.block.function.Function)">RichIterable</a></code></span></div>
<div class="block">Similar to <a href="../../../api/RichIterable.html#groupBy(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.groupBy(Function)</code></a>, except the result of evaluating function will return a collection of keys
 for each value.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#groupByEach(org.eclipse.collections.api.block.function.Function)">groupByEach</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#groupByEach(org.eclipse.collections.api.block.function.Function)">groupByEach</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSetIterable.html#groupByEach(org.eclipse.collections.api.block.function.Function)">groupByEach</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSetIterable.html" title="interface in org.eclipse.collections.api.set">ImmutableSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#groupByEach(org.eclipse.collections.api.block.function.Function)">groupByEach</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#groupByEach(org.eclipse.collections.api.block.function.Function)">groupByEach</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="groupByEach(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.multimap.MutableMultimap)">
<!--   -->
</a><a id="groupByEach(org.eclipse.collections.api.block.function.Function,R)">groupByEach</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;V,&#8203;
R extends <a href="../../../api/multimap/MutableMultimap.html" title="interface in org.eclipse.collections.api.multimap">MutableMultimap</a>&lt;V,&#8203;
<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&gt;</span>&nbsp;<span class="returnType">R</span>&nbsp;<span class="memberName">groupByEach</span>&#8203;(<span class="arguments"><a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;? extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Iterable</a>&lt;V&gt;&gt;&nbsp;function,
R&nbsp;target)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#groupByEach(org.eclipse.collections.api.block.function.Function,R)">RichIterable</a></code></span></div>
<div class="block">Same as <a href="../../../api/RichIterable.html#groupByEach(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.groupByEach(Function)</code></a>, except that the results are gathered into the specified <code>target</code>
 multimap.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#groupByEach(org.eclipse.collections.api.block.function.Function,R)">groupByEach</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../AbstractRichIterable.html#groupByEach(org.eclipse.collections.api.block.function.Function,R)">groupByEach</a></code>&nbsp;in class&nbsp;<code><a href="../../AbstractRichIterable.html" title="class in org.eclipse.collections.impl">AbstractRichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="zip(java.lang.Iterable)">zip</a></h3>
<div class="memberSignature"><span class="annotations"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
</span><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;S&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;S&gt;&gt;</span>&nbsp;<span class="memberName">zip</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Iterable</a>&lt;S&gt;&nbsp;that)</span></div>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">in 6.0. Use <a href="../../../api/ordered/OrderedIterable.html#zip(java.lang.Iterable)"><code>OrderedIterable.zip(Iterable)</code></a> instead.</div>
</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#zip(java.lang.Iterable)">RichIterable</a></code></span></div>
<div class="block">Returns a <code>RichIterable</code> formed from this <code>RichIterable</code> and another <code>RichIterable</code> by
 combining corresponding elements in pairs. If one of the two <code>RichIterable</code>s is longer than the other, its
 remaining elements are ignored.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#zip(java.lang.Iterable)">zip</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#zip(java.lang.Iterable)">zip</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#zip(java.lang.Iterable)">zip</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#zip(java.lang.Iterable)">zip</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>S</code> - the type of the second half of the returned pairs</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>that</code> - The <code>RichIterable</code> providing the second half of each result pair</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A new <code>RichIterable</code> containing pairs consisting of corresponding elements of this <code>
 RichIterable</code> and that. The length of the returned <code>RichIterable</code> is the minimum of the lengths of
 this <code>RichIterable</code> and that.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="zipWithIndex()">zipWithIndex</a></h3>
<div class="memberSignature"><span class="annotations"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang" class="externalLink">@Deprecated</a>
</span><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang" class="externalLink">Integer</a>&gt;&gt;</span>&nbsp;<span class="memberName">zipWithIndex</span>()</div>
<div class="deprecationBlock"><span class="deprecatedLabel">Deprecated.</span>
<div class="deprecationComment">in 6.0. Use <a href="../../../api/ordered/OrderedIterable.html#zipWithIndex()"><code>OrderedIterable.zipWithIndex()</code></a> instead.</div>
</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#zipWithIndex()">RichIterable</a></code></span></div>
<div class="block">Zips this <code>RichIterable</code> with its indices.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/collection/ImmutableCollection.html#zipWithIndex()">zipWithIndex</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#zipWithIndex()">zipWithIndex</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSetIterable.html#zipWithIndex()">zipWithIndex</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSetIterable.html" title="interface in org.eclipse.collections.api.set">ImmutableSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#zipWithIndex()">zipWithIndex</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#zipWithIndex()">zipWithIndex</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#zipWithIndex()">zipWithIndex</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A new <code>RichIterable</code> containing pairs consisting of all elements of this <code>RichIterable</code>
 paired with their index. Indices start at 0.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../api/RichIterable.html#zip(java.lang.Iterable)"><code>RichIterable.zip(Iterable)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="union(org.eclipse.collections.api.set.SetIterable)">union</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</span>&nbsp;<span class="memberName">union</span>&#8203;(<span class="arguments"><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;set)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/set/SetIterable.html#union(org.eclipse.collections.api.set.SetIterable)">SetIterable</a></code></span></div>
<div class="block">Returns the set of all objects that are a member of <code>this</code> or <code>set</code> or both. The union of [1, 2, 3]
 and [2, 3, 4] is the set [1, 2, 3, 4]. If equal elements appear in both sets, then the output will contain the
 copy from <code>this</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#union(org.eclipse.collections.api.set.SetIterable)">union</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#union(org.eclipse.collections.api.set.SetIterable)">union</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#union(org.eclipse.collections.api.set.SetIterable)">union</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="unionInto(org.eclipse.collections.api.set.SetIterable,java.util.Set)">
<!--   -->
</a><a id="unionInto(org.eclipse.collections.api.set.SetIterable,R)">unionInto</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&gt;</span>&nbsp;<span class="returnType">R</span>&nbsp;<span class="memberName">unionInto</span>&#8203;(<span class="arguments"><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;set,
R&nbsp;targetSet)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/set/SetIterable.html#unionInto(org.eclipse.collections.api.set.SetIterable,R)">SetIterable</a></code></span></div>
<div class="block">Same as <a href="../../../api/set/SetIterable.html#union(org.eclipse.collections.api.set.SetIterable)"><code>SetIterable.union(SetIterable)</code></a> but adds all the objects to <code>targetSet</code> and returns it.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#unionInto(org.eclipse.collections.api.set.SetIterable,R)">unionInto</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="intersect(org.eclipse.collections.api.set.SetIterable)">intersect</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</span>&nbsp;<span class="memberName">intersect</span>&#8203;(<span class="arguments"><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;set)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/set/SetIterable.html#intersect(org.eclipse.collections.api.set.SetIterable)">SetIterable</a></code></span></div>
<div class="block">Returns the set of all objects that are members of both <code>this</code> and <code>set</code>. The intersection of
 [1, 2, 3] and [2, 3, 4] is the set [2, 3]. The output will contain instances from <code>this</code>, not <code>set</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#intersect(org.eclipse.collections.api.set.SetIterable)">intersect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#intersect(org.eclipse.collections.api.set.SetIterable)">intersect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#intersect(org.eclipse.collections.api.set.SetIterable)">intersect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="intersectInto(org.eclipse.collections.api.set.SetIterable,java.util.Set)">
<!--   -->
</a><a id="intersectInto(org.eclipse.collections.api.set.SetIterable,R)">intersectInto</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&gt;</span>&nbsp;<span class="returnType">R</span>&nbsp;<span class="memberName">intersectInto</span>&#8203;(<span class="arguments"><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;set,
R&nbsp;targetSet)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/set/SetIterable.html#intersectInto(org.eclipse.collections.api.set.SetIterable,R)">SetIterable</a></code></span></div>
<div class="block">Same as <a href="../../../api/set/SetIterable.html#intersect(org.eclipse.collections.api.set.SetIterable)"><code>SetIterable.intersect(SetIterable)</code></a> but adds all the objects to <code>targetSet</code> and returns it.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#intersectInto(org.eclipse.collections.api.set.SetIterable,R)">intersectInto</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="difference(org.eclipse.collections.api.set.SetIterable)">difference</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</span>&nbsp;<span class="memberName">difference</span>&#8203;(<span class="arguments"><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;subtrahendSet)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/set/SetIterable.html#difference(org.eclipse.collections.api.set.SetIterable)">SetIterable</a></code></span></div>
<div class="block">Returns the set of all members of <code>this</code> that are not members of <code>subtrahendSet</code>. The difference of
 [1, 2, 3] and [2, 3, 4] is [1].</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#difference(org.eclipse.collections.api.set.SetIterable)">difference</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#difference(org.eclipse.collections.api.set.SetIterable)">difference</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#difference(org.eclipse.collections.api.set.SetIterable)">difference</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="differenceInto(org.eclipse.collections.api.set.SetIterable,java.util.Set)">
<!--   -->
</a><a id="differenceInto(org.eclipse.collections.api.set.SetIterable,R)">differenceInto</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&gt;</span>&nbsp;<span class="returnType">R</span>&nbsp;<span class="memberName">differenceInto</span>&#8203;(<span class="arguments"><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;subtrahendSet,
R&nbsp;targetSet)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/set/SetIterable.html#differenceInto(org.eclipse.collections.api.set.SetIterable,R)">SetIterable</a></code></span></div>
<div class="block">Same as <a href="../../../api/set/SetIterable.html#difference(org.eclipse.collections.api.set.SetIterable)"><code>SetIterable.difference(SetIterable)</code></a> but adds all the objects to <code>targetSet</code> and returns it.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#differenceInto(org.eclipse.collections.api.set.SetIterable,R)">differenceInto</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="symmetricDifference(org.eclipse.collections.api.set.SetIterable)">symmetricDifference</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</span>&nbsp;<span class="memberName">symmetricDifference</span>&#8203;(<span class="arguments"><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;setB)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/set/SetIterable.html#symmetricDifference(org.eclipse.collections.api.set.SetIterable)">SetIterable</a></code></span></div>
<div class="block">Returns the set of all objects that are a member of exactly one of <code>this</code> and <code>setB</code> (elements which
 are in one of the sets, but not in both). For instance, for the sets [1, 2, 3] and [2, 3, 4], the symmetric
 difference set is [1, 4] . It is the set difference of the union and the intersection.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#symmetricDifference(org.eclipse.collections.api.set.SetIterable)">symmetricDifference</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#symmetricDifference(org.eclipse.collections.api.set.SetIterable)">symmetricDifference</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#symmetricDifference(org.eclipse.collections.api.set.SetIterable)">symmetricDifference</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="symmetricDifferenceInto(org.eclipse.collections.api.set.SetIterable,java.util.Set)">
<!--   -->
</a><a id="symmetricDifferenceInto(org.eclipse.collections.api.set.SetIterable,R)">symmetricDifferenceInto</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&gt;</span>&nbsp;<span class="returnType">R</span>&nbsp;<span class="memberName">symmetricDifferenceInto</span>&#8203;(<span class="arguments"><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;set,
R&nbsp;targetSet)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/set/SetIterable.html#symmetricDifferenceInto(org.eclipse.collections.api.set.SetIterable,R)">SetIterable</a></code></span></div>
<div class="block">Same as <a href="../../../api/set/SetIterable.html#symmetricDifference(org.eclipse.collections.api.set.SetIterable)"><code>SetIterable.symmetricDifference(SetIterable)</code></a> but adds all the objects to <code>targetSet</code> and returns it.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#symmetricDifferenceInto(org.eclipse.collections.api.set.SetIterable,R)">symmetricDifferenceInto</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="isSubsetOf(org.eclipse.collections.api.set.SetIterable)">isSubsetOf</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">isSubsetOf</span>&#8203;(<span class="arguments"><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;candidateSuperset)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/set/SetIterable.html#isSubsetOf(org.eclipse.collections.api.set.SetIterable)">SetIterable</a></code></span></div>
<div class="block">Returns true if all the members of <code>this</code> are also members of <code>candidateSuperset</code>.
 For example, [1, 2] is a subset of [1, 2, 3], but [1, 4] is not.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#isSubsetOf(org.eclipse.collections.api.set.SetIterable)">isSubsetOf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="isProperSubsetOf(org.eclipse.collections.api.set.SetIterable)">isProperSubsetOf</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">isProperSubsetOf</span>&#8203;(<span class="arguments"><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;? extends <a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&nbsp;candidateSuperset)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/set/SetIterable.html#isProperSubsetOf(org.eclipse.collections.api.set.SetIterable)">SetIterable</a></code></span></div>
<div class="block">Returns true if all the members of <code>this</code> are also members of <code>candidateSuperset</code> and the
 two sets are not equal. For example, [1, 2] is a proper subset of [1, 2, 3], but [1, 2, 3] is not.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#isProperSubsetOf(org.eclipse.collections.api.set.SetIterable)">isProperSubsetOf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="powerSet()">powerSet</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;&gt;</span>&nbsp;<span class="memberName">powerSet</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html#powerSet()">UnsortedSetIterable</a></code></span></div>
<div class="block">Returns the set whose members are all possible subsets of <code>this</code>. For example, the powerset of [1, 2] is
 [[], [1], [2], [1, 2]].</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/ImmutableSet.html#powerSet()">powerSet</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/ImmutableSet.html" title="interface in org.eclipse.collections.api.set">ImmutableSet</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#powerSet()">powerSet</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="cartesianProduct(org.eclipse.collections.api.set.SetIterable)">cartesianProduct</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;B&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/LazyIterable.html" title="interface in org.eclipse.collections.api">LazyIterable</a>&lt;<a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>,&#8203;B&gt;&gt;</span>&nbsp;<span class="memberName">cartesianProduct</span>&#8203;(<span class="arguments"><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;B&gt;&nbsp;set)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/set/SetIterable.html#cartesianProduct(org.eclipse.collections.api.set.SetIterable)">SetIterable</a></code></span></div>
<div class="block">Returns the set whose members are all possible ordered pairs (a, b) where a is a member of <code>this</code> and b is a
 member of <code>set</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#cartesianProduct(org.eclipse.collections.api.set.SetIterable)">cartesianProduct</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="asParallel(java.util.concurrent.ExecutorService,int)">asParallel</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/set/ParallelUnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">ParallelUnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</span>&nbsp;<span class="memberName">asParallel</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent" class="externalLink">ExecutorService</a>&nbsp;executorService,
int&nbsp;batchSize)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/set/SetIterable.html#asParallel(java.util.concurrent.ExecutorService,int)">SetIterable</a></code></span></div>
<div class="block">Returns a parallel iterable of this SetIterable.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/SetIterable.html#asParallel(java.util.concurrent.ExecutorService,int)">asParallel</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/SetIterable.html" title="interface in org.eclipse.collections.api.set">SetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/set/UnsortedSetIterable.html#asParallel(java.util.concurrent.ExecutorService,int)">asParallel</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/set/UnsortedSetIterable.html" title="interface in org.eclipse.collections.api.set">UnsortedSetIterable</a>&lt;<a href="AbstractImmutableSet.html" title="type parameter in AbstractImmutableSet">T</a>&gt;</code></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/AbstractImmutableSet.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>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&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>
</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>
