<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Sat Aug 08 22:45:01 CDT 2020 -->
<title>AbstractImmutableMap (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.map.immutable, class: AbstractImmutableMap">
<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":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10,"i50":10,"i51":10,"i52":10,"i53":10,"i54":42,"i55":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/AbstractImmutableMap.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><a href="#nested.class.summary">Nested</a>&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.map.immutable</a></div>
<h1 title="Class AbstractImmutableMap" class="title">Class AbstractImmutableMap&lt;K,&#8203;V&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;V&gt;
<div class="inheritance"><a href="../AbstractMapIterable.html" title="class in org.eclipse.collections.impl.map">org.eclipse.collections.impl.map.AbstractMapIterable</a>&lt;K,&#8203;V&gt;
<div class="inheritance">org.eclipse.collections.impl.map.immutable.AbstractImmutableMap&lt;K,&#8203;V&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;V&gt;</code>, <code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;K,&#8203;V&gt;</code>, <code><a href="../../../api/InternalIterable.html" title="interface in org.eclipse.collections.api">InternalIterable</a>&lt;V&gt;</code>, <code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;K,&#8203;V&gt;</code>, <code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;K,&#8203;V&gt;</code>, <code><a href="../../../api/map/MapIterable.html" title="interface in org.eclipse.collections.api.map">MapIterable</a>&lt;K,&#8203;V&gt;</code>, <code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;K,&#8203;V&gt;</code>, <code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;V&gt;</code></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="ImmutableUnifiedMap.html" title="class in org.eclipse.collections.impl.map.immutable">ImmutableUnifiedMap</a></code>, <code><a href="../strategy/immutable/ImmutableUnifiedMapWithHashingStrategy.html" title="class in org.eclipse.collections.impl.map.strategy.immutable">ImmutableUnifiedMapWithHashingStrategy</a></code></dd>
</dl>
<hr>
<pre>public abstract class <span class="typeNameLabel">AbstractImmutableMap&lt;K,&#8203;V&gt;</span>
extends <a href="../AbstractMapIterable.html" title="class in org.eclipse.collections.impl.map">AbstractMapIterable</a>&lt;K,&#8203;V&gt;
implements <a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;K,&#8203;V&gt;, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;K,&#8203;V&gt;</pre>
</section>
<section class="summary">
<ul class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li class="blockList">
<section class="nestedClassSummary"><a id="nested.class.summary">
<!--   -->
</a>
<h2>Nested Class Summary</h2>
<div class="inheritedList">
<h2>Nested classes/interfaces inherited from interface&nbsp;java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a></h2>
<a id="nested.classes.inherited.from.class.java.util.Map">
<!--   -->
</a><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util" class="externalLink">Map.Entry</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util" class="externalLink">K</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>,&#8203;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util" class="externalLink">V</a> extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;</code></div>
</section>
</li>
<!-- ======== 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()">AbstractImmutableMap</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>&lt;K1,&#8203;
V1,&#8203;
V2&gt;&nbsp;<a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;K1,&#8203;V2&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#aggregateBy(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function2)">aggregateBy</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;? extends K1&gt;&nbsp;keyFunction,
<a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends V1&gt;&nbsp;valueFunction,
<a href="../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends V2&gt;&nbsp;zeroValueFactory,
<a href="../../../api/block/function/Function2.html" title="interface in org.eclipse.collections.api.block.function">Function2</a>&lt;? super V2,&#8203;? super V1,&#8203;? extends V2&gt;&nbsp;nonMutatingAggregator)</code></th>
<td class="colLast">
<div class="block">Applies an aggregate function over the map grouping results into a map based on the specific key and value groupBy functions.</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>&lt;K2,&#8203;
V2&gt;&nbsp;<a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;K2,&#8203;V2&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#aggregateInPlaceBy(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.procedure.Procedure2)">aggregateInPlaceBy</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends K2&gt;&nbsp;groupBy,
<a href="../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends V2&gt;&nbsp;zeroValueFactory,
<a href="../../../api/block/procedure/Procedure2.html" title="interface in org.eclipse.collections.api.block.procedure">Procedure2</a>&lt;? super V2,&#8203;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;mutatingAggregator)</code></th>
<td class="colLast">
<div class="block">Applies an aggregate procedure over the iterable grouping results into a Map based on the specific groupBy function.</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#castToMap()">castToMap</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clear()">clear</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>&lt;R&gt;&nbsp;<a href="../../../api/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;R&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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends R&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="rowColor" id="i5">
<td class="colFirst"><code>&lt;K2,&#8203;
V2&gt;&nbsp;<a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;K2,&#8203;V2&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collect(org.eclipse.collections.api.block.function.Function2)">collect</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;<a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;K2,&#8203;V2&gt;&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">For each key and value of the map the function is evaluated.</div>
</td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code><a href="../../../api/bag/primitive/ImmutableBooleanBag.html" title="interface in org.eclipse.collections.api.bag.primitive">ImmutableBooleanBag</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="i7">
<td class="colFirst"><code><a href="../../../api/bag/primitive/ImmutableByteBag.html" title="interface in org.eclipse.collections.api.bag.primitive">ImmutableByteBag</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="i8">
<td class="colFirst"><code><a href="../../../api/bag/primitive/ImmutableCharBag.html" title="interface in org.eclipse.collections.api.bag.primitive">ImmutableCharBag</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="i9">
<td class="colFirst"><code><a href="../../../api/bag/primitive/ImmutableDoubleBag.html" title="interface in org.eclipse.collections.api.bag.primitive">ImmutableDoubleBag</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="i10">
<td class="colFirst"><code><a href="../../../api/bag/primitive/ImmutableFloatBag.html" title="interface in org.eclipse.collections.api.bag.primitive">ImmutableFloatBag</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="i11">
<td class="colFirst"><code>&lt;R&gt;&nbsp;<a href="../../../api/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;R&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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends R&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="i12">
<td class="colFirst"><code><a href="../../../api/bag/primitive/ImmutableIntBag.html" title="interface in org.eclipse.collections.api.bag.primitive">ImmutableIntBag</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="i13">
<td class="colFirst"><code><a href="../../../api/bag/primitive/ImmutableLongBag.html" title="interface in org.eclipse.collections.api.bag.primitive">ImmutableLongBag</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="i14">
<td class="colFirst"><code><a href="../../../api/bag/primitive/ImmutableShortBag.html" title="interface in org.eclipse.collections.api.bag.primitive">ImmutableShortBag</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="i15">
<td class="colFirst"><code>&lt;R&gt;&nbsp;<a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;R&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectValues(org.eclipse.collections.api.block.function.Function2)">collectValues</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends R&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">For each key and value of the map the function is evaluated.</div>
</td>
</tr>
<tr class="altColor" id="i16">
<td class="colFirst"><code>&lt;P,&#8203;
VV&gt;&nbsp;<a href="../../../api/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;VV&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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? super P,&#8203;? extends VV&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="rowColor" id="i17">
<td class="colFirst"><code>&lt;V1&gt;&nbsp;<a href="../../../api/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;V1&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#countBy(org.eclipse.collections.api.block.function.Function)">countBy</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends V1&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">This method will count the number of occurrences of each value calculated by applying the
 function to each element of the collection.</div>
</td>
</tr>
<tr class="altColor" id="i18">
<td class="colFirst"><code>&lt;V1&gt;&nbsp;<a href="../../../api/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;V1&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#countByEach(org.eclipse.collections.api.block.function.Function)">countByEach</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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;V1&gt;&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">This method will count the number of occurrences of each value calculated by applying the
 function to each element of the collection.</div>
</td>
</tr>
<tr class="rowColor" id="i19">
<td class="colFirst"><code>&lt;V1,&#8203;
P&gt;&nbsp;<a href="../../../api/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;V1&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#countByWith(org.eclipse.collections.api.block.function.Function2,P)">countByWith</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? super P,&#8203;? extends V1&gt;&nbsp;function,
P&nbsp;parameter)</code></th>
<td class="colLast">
<div class="block">This method will count the number of occurrences of each value calculated by applying the
 function to each element of the collection with the specified parameter as the second argument.</div>
</td>
</tr>
<tr class="altColor" id="i20">
<td class="colFirst"><code><a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#detect(org.eclipse.collections.api.block.predicate.Predicate2)">detect</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Return the first key and value of the map for which the predicate evaluates to true when they are given
 as arguments.</div>
</td>
</tr>
<tr class="rowColor" id="i21">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html?is-external=true" title="class or interface in java.util" class="externalLink">Optional</a>&lt;<a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#detectOptional(org.eclipse.collections.api.block.predicate.Predicate2)">detectOptional</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Return the first key and value of the map as an Optional for which the predicate evaluates to true when
 they are given as arguments.</div>
</td>
</tr>
<tr class="altColor" id="i22">
<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="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util" class="externalLink">Map.Entry</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#entrySet()">entrySet</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i23">
<td class="colFirst"><code>&lt;R&gt;&nbsp;<a href="../../../api/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;R&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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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;R&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="altColor" id="i24">
<td class="colFirst"><code><a href="../../../api/multimap/set/ImmutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">ImmutableSetMultimap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#flip()">flip</a></span>()</code></th>
<td class="colLast">
<div class="block">Given a map from Domain <code>-&gt;</code> Range return a multimap from Range <code>-&gt;</code> Domain.</div>
</td>
</tr>
<tr class="rowColor" id="i25">
<td class="colFirst"><code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#flipUniqueValues()">flipUniqueValues</a></span>()</code></th>
<td class="colLast">
<div class="block">Return the MapIterable that is obtained by flipping the direction of this map and making the associations
 from value to key.</div>
</td>
</tr>
<tr class="altColor" id="i26">
<td class="colFirst"><code>&lt;VV&gt;&nbsp;<a href="../../../api/multimap/bag/ImmutableBagMultimap.html" title="interface in org.eclipse.collections.api.multimap.bag">ImmutableBagMultimap</a>&lt;VV,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends VV&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="rowColor" id="i27">
<td class="colFirst"><code>&lt;VV&gt;&nbsp;<a href="../../../api/multimap/bag/ImmutableBagMultimap.html" title="interface in org.eclipse.collections.api.multimap.bag">ImmutableBagMultimap</a>&lt;VV,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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;VV&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="i28">
<td class="colFirst"><code>&lt;V1&gt;&nbsp;<a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;V1,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#groupByUniqueKey(org.eclipse.collections.api.block.function.Function)">groupByUniqueKey</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends V1&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">For each element of the iterable, the function is evaluated and he results of these evaluations are collected
 into a new map, where the transformed value is the key.</div>
</td>
</tr>
<tr class="rowColor" id="i29">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink">Iterator</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#iterator()">iterator</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i30">
<td class="colFirst"><code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newWithAllKeyValueArguments(org.eclipse.collections.api.tuple.Pair...)">newWithAllKeyValueArguments</a></span>&#8203;(<a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;? extends <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;? extends <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;...&nbsp;keyValuePairs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i31">
<td class="colFirst"><code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newWithAllKeyValues(java.lang.Iterable)">newWithAllKeyValues</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="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;? extends <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;? extends <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&gt;&nbsp;keyValues)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i32">
<td class="colFirst"><code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newWithKeyValue(K,V)">newWithKeyValue</a></span>&#8203;(<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&nbsp;key,
<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&nbsp;value)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i33">
<td class="colFirst"><code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newWithoutAllKeys(java.lang.Iterable)">newWithoutAllKeys</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;&nbsp;keys)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i34">
<td class="colFirst"><code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newWithoutKey(K)">newWithoutKey</a></span>&#8203;(<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&nbsp;key)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i35">
<td class="colFirst"><code><a href="../../../api/partition/bag/PartitionImmutableBag.html" title="interface in org.eclipse.collections.api.partition.bag">PartitionImmutableBag</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="i36">
<td class="colFirst"><code>&lt;P&gt;&nbsp;<a href="../../../api/partition/bag/PartitionImmutableBag.html" title="interface in org.eclipse.collections.api.partition.bag">PartitionImmutableBag</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="i37">
<td class="colFirst"><code><a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#put(K,V)">put</a></span>&#8203;(<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&nbsp;key,
<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&nbsp;value)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i38">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#putAll(java.util.Map)">putAll</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;? extends <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;? extends <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;map)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i39">
<td class="colFirst"><code><a href="../../../api/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="altColor" id="i40">
<td class="colFirst"><code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reject(org.eclipse.collections.api.block.predicate.Predicate2)">reject</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">For each key and value of the map the predicate is evaluated, if the result of the evaluation is false,
 that key and value are returned in a new map.</div>
</td>
</tr>
<tr class="rowColor" id="i41">
<td class="colFirst"><code>&lt;P&gt;&nbsp;<a href="../../../api/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="i42">
<td class="colFirst"><code><a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#remove(java.lang.Object)">remove</a></span>&#8203;(<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>&nbsp;key)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i43">
<td class="colFirst"><code><a href="../../../api/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="altColor" id="i44">
<td class="colFirst"><code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#select(org.eclipse.collections.api.block.predicate.Predicate2)">select</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">For each key and value of the map the predicate is evaluated, if the result of the evaluation is true,
 that key and value are returned in a new map.</div>
</td>
</tr>
<tr class="rowColor" id="i45">
<td class="colFirst"><code>&lt;S&gt;&nbsp;<a href="../../../api/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</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="i46">
<td class="colFirst"><code>&lt;P&gt;&nbsp;<a href="../../../api/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="i47">
<td class="colFirst"><code>&lt;V1&gt;&nbsp;<a href="../../../api/map/primitive/ImmutableObjectDoubleMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableObjectDoubleMap</a>&lt;V1&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sumByDouble(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.DoubleFunction)">sumByDouble</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends V1&gt;&nbsp;groupBy,
<a href="../../../api/block/function/primitive/DoubleFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">DoubleFunction</a>&lt;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Groups and sums the values using the two specified functions.</div>
</td>
</tr>
<tr class="altColor" id="i48">
<td class="colFirst"><code>&lt;V1&gt;&nbsp;<a href="../../../api/map/primitive/ImmutableObjectDoubleMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableObjectDoubleMap</a>&lt;V1&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sumByFloat(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.FloatFunction)">sumByFloat</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends V1&gt;&nbsp;groupBy,
<a href="../../../api/block/function/primitive/FloatFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">FloatFunction</a>&lt;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Groups and sums the values using the two specified functions.</div>
</td>
</tr>
<tr class="rowColor" id="i49">
<td class="colFirst"><code>&lt;V1&gt;&nbsp;<a href="../../../api/map/primitive/ImmutableObjectLongMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableObjectLongMap</a>&lt;V1&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sumByInt(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.IntFunction)">sumByInt</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends V1&gt;&nbsp;groupBy,
<a href="../../../api/block/function/primitive/IntFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">IntFunction</a>&lt;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Groups and sums the values using the two specified functions.</div>
</td>
</tr>
<tr class="altColor" id="i50">
<td class="colFirst"><code>&lt;V1&gt;&nbsp;<a href="../../../api/map/primitive/ImmutableObjectLongMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableObjectLongMap</a>&lt;V1&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sumByLong(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.LongFunction)">sumByLong</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends V1&gt;&nbsp;groupBy,
<a href="../../../api/block/function/primitive/LongFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">LongFunction</a>&lt;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Groups and sums the values using the two specified functions.</div>
</td>
</tr>
<tr class="rowColor" id="i51">
<td class="colFirst"><code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;procedure)</code></th>
<td class="colLast">
<div class="block">Executes the Procedure for each value of the map and returns <code>this</code>.</div>
</td>
</tr>
<tr class="altColor" id="i52">
<td class="colFirst"><code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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 UnsortedMapIterable to an immutable implementation.</div>
</td>
</tr>
<tr class="rowColor" id="i53">
<td class="colFirst"><code><a href="../../../api/map/MutableMap.html" title="interface in org.eclipse.collections.api.map">MutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toMap()">toMap</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i54">
<td class="colFirst"><code>&lt;S&gt;&nbsp;<a href="../../../api/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;<a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="rowColor" id="i55">
<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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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.map.<a href="../AbstractMapIterable.html" title="class in org.eclipse.collections.impl.map">AbstractMapIterable</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.impl.map.AbstractMapIterable">
<!--   -->
</a><code><a href="../AbstractMapIterable.html#allSatisfy(org.eclipse.collections.api.block.predicate.Predicate)">allSatisfy</a>, <a href="../AbstractMapIterable.html#allSatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">allSatisfyWith</a>, <a href="../AbstractMapIterable.html#anySatisfy(org.eclipse.collections.api.block.predicate.Predicate)">anySatisfy</a>, <a href="../AbstractMapIterable.html#anySatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">anySatisfyWith</a>, <a href="../AbstractMapIterable.html#asLazy()">asLazy</a>, <a href="../AbstractMapIterable.html#chunk(int)">chunk</a>, <a href="../AbstractMapIterable.html#contains(java.lang.Object)">contains</a>, <a href="../AbstractMapIterable.html#detect(org.eclipse.collections.api.block.predicate.Predicate)">detect</a>, <a href="../AbstractMapIterable.html#detectIfNone(org.eclipse.collections.api.block.predicate.Predicate,org.eclipse.collections.api.block.function.Function0)">detectIfNone</a>, <a href="../AbstractMapIterable.html#detectOptional(org.eclipse.collections.api.block.predicate.Predicate)">detectOptional</a>, <a href="../AbstractMapIterable.html#detectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">detectWith</a>, <a href="../AbstractMapIterable.html#detectWithIfNone(org.eclipse.collections.api.block.predicate.Predicate2,P,org.eclipse.collections.api.block.function.Function0)">detectWithIfNone</a>, <a href="../AbstractMapIterable.html#detectWithOptional(org.eclipse.collections.api.block.predicate.Predicate2,P)">detectWithOptional</a>, <a href="../AbstractMapIterable.html#each(org.eclipse.collections.api.block.procedure.Procedure)">each</a>, <a href="../AbstractMapIterable.html#forEachKey(org.eclipse.collections.api.block.procedure.Procedure)">forEachKey</a>, <a href="../AbstractMapIterable.html#forEachValue(org.eclipse.collections.api.block.procedure.Procedure)">forEachValue</a>, <a href="../AbstractMapIterable.html#forEachWith(org.eclipse.collections.api.block.procedure.Procedure2,P)">forEachWith</a>, <a href="../AbstractMapIterable.html#forEachWithIndex(org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure)">forEachWithIndex</a>, <a href="../AbstractMapIterable.html#getFirst()">getFirst</a>, <a href="../AbstractMapIterable.html#getIfAbsent(K,org.eclipse.collections.api.block.function.Function0)">getIfAbsent</a>, <a href="../AbstractMapIterable.html#getIfAbsentValue(K,V)">getIfAbsentValue</a>, <a href="../AbstractMapIterable.html#getIfAbsentWith(K,org.eclipse.collections.api.block.function.Function,P)">getIfAbsentWith</a>, <a href="../AbstractMapIterable.html#getLast()">getLast</a>, <a href="../AbstractMapIterable.html#getOnly()">getOnly</a>, <a href="../AbstractMapIterable.html#getOrDefault(java.lang.Object,V)">getOrDefault</a>, <a href="../AbstractMapIterable.html#ifPresentApply(K,org.eclipse.collections.api.block.function.Function)">ifPresentApply</a>, <a href="../AbstractMapIterable.html#noneSatisfy(org.eclipse.collections.api.block.predicate.Predicate)">noneSatisfy</a>, <a href="../AbstractMapIterable.html#noneSatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">noneSatisfyWith</a>, <a href="../AbstractMapIterable.html#toArray()">toArray</a>, <a href="../AbstractMapIterable.html#toArray(T%5B%5D)">toArray</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#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#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#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#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#groupBy(org.eclipse.collections.api.block.function.Function,R)">groupBy</a>, <a href="../../AbstractRichIterable.html#groupByEach(org.eclipse.collections.api.block.function.Function,R)">groupByEach</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#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#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;org.eclipse.collections.api.map.<a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.map.ImmutableMap">
<!--   -->
</a><code><a href="../../../api/map/ImmutableMap.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/map/ImmutableMap.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;java.util.<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a></h3>
<a id="methods.inherited.from.class.java.util.Map">
<!--   -->
</a><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#compute(K,java.util.function.BiFunction)" title="class or interface in java.util" class="externalLink">compute</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#computeIfAbsent(K,java.util.function.Function)" title="class or interface in java.util" class="externalLink">computeIfAbsent</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#computeIfPresent(K,java.util.function.BiFunction)" title="class or interface in java.util" class="externalLink">computeIfPresent</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#containsKey(java.lang.Object)" title="class or interface in java.util" class="externalLink">containsKey</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#containsValue(java.lang.Object)" title="class or interface in java.util" class="externalLink">containsValue</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.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/Map.html?is-external=true#forEach(java.util.function.BiConsumer)" title="class or interface in java.util" class="externalLink">forEach</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#get(java.lang.Object)" title="class or interface in java.util" class="externalLink">get</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#getOrDefault(java.lang.Object,V)" title="class or interface in java.util" class="externalLink">getOrDefault</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.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/Map.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/Map.html?is-external=true#keySet()" title="class or interface in java.util" class="externalLink">keySet</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#merge(K,V,java.util.function.BiFunction)" title="class or interface in java.util" class="externalLink">merge</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#putIfAbsent(K,V)" title="class or interface in java.util" class="externalLink">putIfAbsent</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#remove(java.lang.Object,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/Map.html?is-external=true#replace(K,V)" title="class or interface in java.util" class="externalLink">replace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#replace(K,V,V)" title="class or interface in java.util" class="externalLink">replace</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#replaceAll(java.util.function.BiFunction)" title="class or interface in java.util" class="externalLink">replaceAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.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/Map.html?is-external=true#values()" title="class or interface in java.util" class="externalLink">values</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;org.eclipse.collections.api.map.<a href="../../../api/map/MapIterable.html" title="interface in org.eclipse.collections.api.map">MapIterable</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.map.MapIterable">
<!--   -->
</a><code><a href="../../../api/map/MapIterable.html#containsKey(java.lang.Object)">containsKey</a>, <a href="../../../api/map/MapIterable.html#containsValue(java.lang.Object)">containsValue</a>, <a href="../../../api/map/MapIterable.html#equals(java.lang.Object)">equals</a>, <a href="../../../api/map/MapIterable.html#forEachKey(org.eclipse.collections.api.block.procedure.Procedure)">forEachKey</a>, <a href="../../../api/map/MapIterable.html#forEachKeyValue(org.eclipse.collections.api.block.procedure.Procedure2)">forEachKeyValue</a>, <a href="../../../api/map/MapIterable.html#forEachValue(org.eclipse.collections.api.block.procedure.Procedure)">forEachValue</a>, <a href="../../../api/map/MapIterable.html#get(java.lang.Object)">get</a>, <a href="../../../api/map/MapIterable.html#getIfAbsent(K,org.eclipse.collections.api.block.function.Function0)">getIfAbsent</a>, <a href="../../../api/map/MapIterable.html#getIfAbsentValue(K,V)">getIfAbsentValue</a>, <a href="../../../api/map/MapIterable.html#getIfAbsentWith(K,org.eclipse.collections.api.block.function.Function,P)">getIfAbsentWith</a>, <a href="../../../api/map/MapIterable.html#getOrDefault(java.lang.Object,V)">getOrDefault</a>, <a href="../../../api/map/MapIterable.html#hashCode()">hashCode</a>, <a href="../../../api/map/MapIterable.html#ifPresentApply(K,org.eclipse.collections.api.block.function.Function)">ifPresentApply</a>, <a href="../../../api/map/MapIterable.html#keysView()">keysView</a>, <a href="../../../api/map/MapIterable.html#keyValuesView()">keyValuesView</a>, <a href="../../../api/map/MapIterable.html#parallelStream()">parallelStream</a>, <a href="../../../api/map/MapIterable.html#spliterator()">spliterator</a>, <a href="../../../api/map/MapIterable.html#stream()">stream</a>, <a href="../../../api/map/MapIterable.html#toString()">toString</a>, <a href="../../../api/map/MapIterable.html#valuesView()">valuesView</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#groupBy(org.eclipse.collections.api.block.function.Function,R)">groupBy</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#groupByEach(org.eclipse.collections.api.block.function.Function,R)">groupByEach</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#zip(java.lang.Iterable,R)">zip</a>, <a href="../../../api/RichIterable.html#zipWithIndex(R)">zipWithIndex</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;()">AbstractImmutableMap</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">AbstractImmutableMap</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="castToMap()">castToMap</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/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</span>&nbsp;<span class="memberName">castToMap</span>()</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#castToMap()">castToMap</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toMap()">toMap</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/map/MutableMap.html" title="interface in org.eclipse.collections.api.map">MutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</span>&nbsp;<span class="memberName">toMap</span>()</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMap.html#toMap()">toMap</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</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/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/map/UnsortedMapIterable.html#toImmutable()">UnsortedMapIterable</a></code></span></div>
<div class="block">Converts the UnsortedMapIterable to an immutable implementation. Returns this for immutable maps.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/MapIterable.html#toImmutable()">toImmutable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/MapIterable.html" title="interface in org.eclipse.collections.api.map">MapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#toImmutable()">toImmutable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="iterator()">iterator</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/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink">Iterator</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</span>&nbsp;<span class="memberName">iterator</span>()</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#iterator()" title="class or interface in java.lang" class="externalLink">iterator</a></code>&nbsp;in interface&nbsp;<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;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="putAll(java.util.Map)">putAll</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">putAll</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;? extends <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;? extends <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;map)</span></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#putAll(java.util.Map)" title="class or interface in java.util" class="externalLink">putAll</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="clear()">clear</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">clear</span>()</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#clear()" title="class or interface in java.util" class="externalLink">clear</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="flip()">flip</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/multimap/set/ImmutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">ImmutableSetMultimap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</span>&nbsp;<span class="memberName">flip</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/map/MapIterable.html#flip()">MapIterable</a></code></span></div>
<div class="block">Given a map from Domain <code>-&gt;</code> Range return a multimap from Range <code>-&gt;</code> Domain. We chose the name 'flip'
 rather than 'invert' or 'transpose' since this method does not have the property of applying twice
 returns the original.
 <p>
 Since the keys in the input are unique, the values in the output are unique, so the return type should
 be a SetMultimap. However since SetMultimap and SortedSetMultimap don't inherit from one another, SetMultimap
 here does not allow SortedMapIterable to have a SortedSetMultimap return. Thus we compromise and call this
 Multimap, even though all implementations will be a SetMultimap or SortedSetMultimap.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMap.html#flip()">flip</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#flip()">flip</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/MapIterable.html#flip()">flip</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/MapIterable.html" title="interface in org.eclipse.collections.api.map">MapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#flip()">flip</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="entrySet()">entrySet</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="https://docs.oracle.com/javase/8/docs/api/java/util/Map.Entry.html?is-external=true" title="class or interface in java.util" class="externalLink">Map.Entry</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&gt;</span>&nbsp;<span class="memberName">entrySet</span>()</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#entrySet()" title="class or interface in java.util" class="externalLink">entrySet</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="newWithKeyValue(java.lang.Object,java.lang.Object)">
<!--   -->
</a><a id="newWithKeyValue(K,V)">newWithKeyValue</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</span>&nbsp;<span class="memberName">newWithKeyValue</span>&#8203;(<span class="arguments"><a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&nbsp;key,
<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&nbsp;value)</span></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMap.html#newWithKeyValue(K,V)">newWithKeyValue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#newWithKeyValue(K,V)">newWithKeyValue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="newWithAllKeyValues(java.lang.Iterable)">newWithAllKeyValues</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</span>&nbsp;<span class="memberName">newWithAllKeyValues</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="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;? extends <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;? extends <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&gt;&nbsp;keyValues)</span></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMap.html#newWithAllKeyValues(java.lang.Iterable)">newWithAllKeyValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#newWithAllKeyValues(java.lang.Iterable)">newWithAllKeyValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="newWithAllKeyValueArguments(org.eclipse.collections.api.tuple.Pair...)">newWithAllKeyValueArguments</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</span>&nbsp;<span class="memberName">newWithAllKeyValueArguments</span>&#8203;(<span class="arguments"><a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;? extends <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;? extends <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;...&nbsp;keyValuePairs)</span></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMap.html#newWithAllKeyValueArguments(org.eclipse.collections.api.tuple.Pair...)">newWithAllKeyValueArguments</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#newWithAllKeyValueArguments(org.eclipse.collections.api.tuple.Pair...)">newWithAllKeyValueArguments</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="newWithoutKey(java.lang.Object)">
<!--   -->
</a><a id="newWithoutKey(K)">newWithoutKey</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</span>&nbsp;<span class="memberName">newWithoutKey</span>&#8203;(<span class="arguments"><a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&nbsp;key)</span></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMap.html#newWithoutKey(K)">newWithoutKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#newWithoutKey(K)">newWithoutKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="newWithoutAllKeys(java.lang.Iterable)">newWithoutAllKeys</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</span>&nbsp;<span class="memberName">newWithoutAllKeys</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;&nbsp;keys)</span></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMap.html#newWithoutAllKeys(java.lang.Iterable)">newWithoutAllKeys</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#newWithoutAllKeys(java.lang.Iterable)">newWithoutAllKeys</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="put(java.lang.Object,java.lang.Object)">
<!--   -->
</a><a id="put(K,V)">put</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a></span>&nbsp;<span class="memberName">put</span>&#8203;(<span class="arguments"><a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&nbsp;key,
<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&nbsp;value)</span></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#put(K,V)" title="class or interface in java.util" class="externalLink">put</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="remove(java.lang.Object)">remove</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a></span>&nbsp;<span class="memberName">remove</span>&#8203;(<span class="arguments"><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>&nbsp;key)</span></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#remove(java.lang.Object)" title="class or interface in java.util" class="externalLink">remove</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="flipUniqueValues()">flipUniqueValues</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</span>&nbsp;<span class="memberName">flipUniqueValues</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/map/MapIterable.html#flipUniqueValues()">MapIterable</a></code></span></div>
<div class="block">Return the MapIterable that is obtained by flipping the direction of this map and making the associations
 from value to key.
 <pre>
     MapIterable&lt;Integer, String&gt; map = this.newMapWithKeysValues(1, "1", 2, "2", 3, "3");
     MapIterable&lt;String, Integer&gt; result = map.flipUniqueValues();
     Assert.assertTrue(result.equals(UnifiedMap.newWithKeysValues("1", 1, "2", 2, "3", 3)));
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMap.html#flipUniqueValues()">flipUniqueValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#flipUniqueValues()">flipUniqueValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/MapIterable.html#flipUniqueValues()">flipUniqueValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/MapIterable.html" title="interface in org.eclipse.collections.api.map">MapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#flipUniqueValues()">flipUniqueValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="collect(org.eclipse.collections.api.block.function.Function2)">collect</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;K2,&#8203;
V2&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;K2,&#8203;V2&gt;</span>&nbsp;<span class="memberName">collect</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;<a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;K2,&#8203;V2&gt;&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/map/MapIterable.html#collect(org.eclipse.collections.api.block.function.Function2)">MapIterable</a></code></span></div>
<div class="block">For each key and value of the map the function is evaluated. The results of these evaluations are returned in
 a new map. The map returned will use the values projected from the function rather than the original values.

 <pre>
 MapIterable&lt;String, String&gt; collected =
     peopleByCity.collect((City city, Person person) -&gt; Pair.of(city.getCountry(), person.getAddress().getCity()));
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMap.html#collect(org.eclipse.collections.api.block.function.Function2)">collect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#collect(org.eclipse.collections.api.block.function.Function2)">collect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/MapIterable.html#collect(org.eclipse.collections.api.block.function.Function2)">collect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/MapIterable.html" title="interface in org.eclipse.collections.api.map">MapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#collect(org.eclipse.collections.api.block.function.Function2)">collect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="collectValues(org.eclipse.collections.api.block.function.Function2)">collectValues</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;R&gt;</span>&nbsp;<span class="memberName">collectValues</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends R&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/map/MapIterable.html#collectValues(org.eclipse.collections.api.block.function.Function2)">MapIterable</a></code></span></div>
<div class="block">For each key and value of the map the function is evaluated. The results of these evaluations are returned in
 a new map. The map returned will use the values projected from the function rather than the original values.

 <pre>
 MapIterable&lt;City, String&gt; collected =
     peopleByCity.collectValues((City city, Person person) -&gt; person.getFirstName() + " " + person.getLastName());
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMap.html#collectValues(org.eclipse.collections.api.block.function.Function2)">collectValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#collectValues(org.eclipse.collections.api.block.function.Function2)">collectValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/MapIterable.html#collectValues(org.eclipse.collections.api.block.function.Function2)">collectValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/MapIterable.html" title="interface in org.eclipse.collections.api.map">MapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#collectValues(org.eclipse.collections.api.block.function.Function2)">collectValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="select(org.eclipse.collections.api.block.predicate.Predicate2)">select</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</span>&nbsp;<span class="memberName">select</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/map/MapIterable.html#select(org.eclipse.collections.api.block.predicate.Predicate2)">MapIterable</a></code></span></div>
<div class="block">For each key and value of the map the predicate is evaluated, if the result of the evaluation is true,
 that key and value are returned in a new map.

 <pre>
 MapIterable&lt;City, Person&gt; selected =
     peopleByCity.select((city, person) -&gt; city.getName().equals("Anytown") &amp;&amp; person.getLastName().equals("Smith"));
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMap.html#select(org.eclipse.collections.api.block.predicate.Predicate2)">select</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#select(org.eclipse.collections.api.block.predicate.Predicate2)">select</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/MapIterable.html#select(org.eclipse.collections.api.block.predicate.Predicate2)">select</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/MapIterable.html" title="interface in org.eclipse.collections.api.map">MapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#select(org.eclipse.collections.api.block.predicate.Predicate2)">select</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="reject(org.eclipse.collections.api.block.predicate.Predicate2)">reject</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</span>&nbsp;<span class="memberName">reject</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/map/MapIterable.html#reject(org.eclipse.collections.api.block.predicate.Predicate2)">MapIterable</a></code></span></div>
<div class="block">For each key and value of the map the predicate is evaluated, if the result of the evaluation is false,
 that key and value are returned in a new map.

 <pre>
 MapIterable&lt;City, Person&gt; rejected =
     peopleByCity.reject((city, person) -&gt; city.getName().equals("Anytown") &amp;&amp; person.getLastName().equals("Smith"));
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMap.html#reject(org.eclipse.collections.api.block.predicate.Predicate2)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#reject(org.eclipse.collections.api.block.predicate.Predicate2)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/MapIterable.html#reject(org.eclipse.collections.api.block.predicate.Predicate2)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/MapIterable.html" title="interface in org.eclipse.collections.api.map">MapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#reject(org.eclipse.collections.api.block.predicate.Predicate2)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="detect(org.eclipse.collections.api.block.predicate.Predicate2)">detect</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</span>&nbsp;<span class="memberName">detect</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/map/MapIterable.html#detect(org.eclipse.collections.api.block.predicate.Predicate2)">MapIterable</a></code></span></div>
<div class="block">Return the first key and value of the map for which the predicate evaluates to true when they are given
 as arguments. The predicate will only be evaluated until such pair is found or until all of the keys and
 values of the map have been used as arguments. That is, there may be keys and values of the map that are
 never used as arguments to the predicate. The result is null if predicate does not evaluate to true for
 any key/value combination.

 <pre>
 Pair&lt;City, Person&gt; detected =
     peopleByCity.detect((City city, Person person) -&gt; city.getName().equals("Anytown") &amp;&amp; person.getLastName().equals("Smith"));
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/MapIterable.html#detect(org.eclipse.collections.api.block.predicate.Predicate2)">detect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/MapIterable.html" title="interface in org.eclipse.collections.api.map">MapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="detectOptional(org.eclipse.collections.api.block.predicate.Predicate2)">detectOptional</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/Optional.html?is-external=true" title="class or interface in java.util" class="externalLink">Optional</a>&lt;<a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&gt;</span>&nbsp;<span class="memberName">detectOptional</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/map/MapIterable.html#detectOptional(org.eclipse.collections.api.block.predicate.Predicate2)">MapIterable</a></code></span></div>
<div class="block">Return the first key and value of the map as an Optional for which the predicate evaluates to true when
 they are given as arguments. The predicate will only be evaluated until such pair is found or until all
 of the keys and values of the map have been used as arguments. That is, there may be keys and values of
 the map that are never used as arguments to the predicate.

 <pre>
 Optional&lt;Pair&lt;City, Person&gt;&gt; detected =
     peopleByCity.detectOptional((city, person)
          -&gt; city.getName().equals("Anytown") &amp;&amp; person.getLastName().equals("Smith"));
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/MapIterable.html#detectOptional(org.eclipse.collections.api.block.predicate.Predicate2)">detectOptional</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/MapIterable.html" title="interface in org.eclipse.collections.api.map">MapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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;R&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;R&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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends R&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/map/ImmutableMap.html#collect(org.eclipse.collections.api.block.function.Function)">collect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#collect(org.eclipse.collections.api.block.function.Function)">collect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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;
VV&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;VV&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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? super P,&#8203;? extends VV&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/map/ImmutableMap.html#collectWith(org.eclipse.collections.api.block.function.Function2,P)">collectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#collectWith(org.eclipse.collections.api.block.function.Function2,P)">collectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="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/bag/primitive/ImmutableBooleanBag.html" title="interface in org.eclipse.collections.api.bag.primitive">ImmutableBooleanBag</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/map/ImmutableMap.html#collectBoolean(org.eclipse.collections.api.block.function.primitive.BooleanFunction)">collectBoolean</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#collectBoolean(org.eclipse.collections.api.block.function.primitive.BooleanFunction)">collectBoolean</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/bag/primitive/ImmutableByteBag.html" title="interface in org.eclipse.collections.api.bag.primitive">ImmutableByteBag</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/map/ImmutableMap.html#collectByte(org.eclipse.collections.api.block.function.primitive.ByteFunction)">collectByte</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#collectByte(org.eclipse.collections.api.block.function.primitive.ByteFunction)">collectByte</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/bag/primitive/ImmutableCharBag.html" title="interface in org.eclipse.collections.api.bag.primitive">ImmutableCharBag</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/map/ImmutableMap.html#collectChar(org.eclipse.collections.api.block.function.primitive.CharFunction)">collectChar</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#collectChar(org.eclipse.collections.api.block.function.primitive.CharFunction)">collectChar</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/bag/primitive/ImmutableDoubleBag.html" title="interface in org.eclipse.collections.api.bag.primitive">ImmutableDoubleBag</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/map/ImmutableMap.html#collectDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction)">collectDouble</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#collectDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction)">collectDouble</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/bag/primitive/ImmutableFloatBag.html" title="interface in org.eclipse.collections.api.bag.primitive">ImmutableFloatBag</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/map/ImmutableMap.html#collectFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction)">collectFloat</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#collectFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction)">collectFloat</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/bag/primitive/ImmutableIntBag.html" title="interface in org.eclipse.collections.api.bag.primitive">ImmutableIntBag</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/map/ImmutableMap.html#collectInt(org.eclipse.collections.api.block.function.primitive.IntFunction)">collectInt</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#collectInt(org.eclipse.collections.api.block.function.primitive.IntFunction)">collectInt</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/bag/primitive/ImmutableLongBag.html" title="interface in org.eclipse.collections.api.bag.primitive">ImmutableLongBag</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/map/ImmutableMap.html#collectLong(org.eclipse.collections.api.block.function.primitive.LongFunction)">collectLong</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#collectLong(org.eclipse.collections.api.block.function.primitive.LongFunction)">collectLong</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/bag/primitive/ImmutableShortBag.html" title="interface in org.eclipse.collections.api.bag.primitive">ImmutableShortBag</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/map/ImmutableMap.html#collectShort(org.eclipse.collections.api.block.function.primitive.ShortFunction)">collectShort</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#collectShort(org.eclipse.collections.api.block.function.primitive.ShortFunction)">collectShort</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></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;R&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;R&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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends R&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/map/ImmutableMap.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/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.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/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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;R&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;R&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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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;R&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/map/ImmutableMap.html#flatCollect(org.eclipse.collections.api.block.function.Function)">flatCollect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#flatCollect(org.eclipse.collections.api.block.function.Function)">flatCollect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="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/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/map/ImmutableMap.html#select(org.eclipse.collections.api.block.predicate.Predicate)">select</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#select(org.eclipse.collections.api.block.predicate.Predicate)">select</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#select(org.eclipse.collections.api.block.predicate.Predicate)">select</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/map/ImmutableMap.html#selectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">selectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#selectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">selectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#selectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">selectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="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/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;procedure)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/map/MapIterable.html#tap(org.eclipse.collections.api.block.procedure.Procedure)">MapIterable</a></code></span></div>
<div class="block">Executes the Procedure for each value of the map and returns <code>this</code>.

 <pre>
 return peopleByCity.<b>tap</b>(person -&gt; LOGGER.info(person.getName()));
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMap.html#tap(org.eclipse.collections.api.block.procedure.Procedure)">tap</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#tap(org.eclipse.collections.api.block.procedure.Procedure)">tap</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/MapIterable.html#tap(org.eclipse.collections.api.block.procedure.Procedure)">tap</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/MapIterable.html" title="interface in org.eclipse.collections.api.map">MapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#tap(org.eclipse.collections.api.block.procedure.Procedure)">tap</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><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="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/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/map/ImmutableMap.html#reject(org.eclipse.collections.api.block.predicate.Predicate)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#reject(org.eclipse.collections.api.block.predicate.Predicate)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#reject(org.eclipse.collections.api.block.predicate.Predicate)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/map/ImmutableMap.html#rejectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">rejectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#rejectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">rejectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#rejectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">rejectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/bag/PartitionImmutableBag.html" title="interface in org.eclipse.collections.api.partition.bag">PartitionImmutableBag</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/map/ImmutableMap.html#partition(org.eclipse.collections.api.block.predicate.Predicate)">partition</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#partition(org.eclipse.collections.api.block.predicate.Predicate)">partition</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#partition(org.eclipse.collections.api.block.predicate.Predicate)">partition</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/bag/PartitionImmutableBag.html" title="interface in org.eclipse.collections.api.partition.bag">PartitionImmutableBag</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/map/ImmutableMap.html#partitionWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">partitionWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#partitionWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">partitionWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</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/map/ImmutableMap.html#selectInstancesOf(java.lang.Class)">selectInstancesOf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#selectInstancesOf(java.lang.Class)">selectInstancesOf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#selectInstancesOf(java.lang.Class)">selectInstancesOf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;<a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/map/ImmutableMap.html#zip(java.lang.Iterable)">zip</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#zip(java.lang.Iterable)">zip</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#zip(java.lang.Iterable)">zip</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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/map/ImmutableMap.html#zipWithIndex()">zipWithIndex</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#zipWithIndex()">zipWithIndex</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#zipWithIndex()">zipWithIndex</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="groupBy(org.eclipse.collections.api.block.function.Function)">groupBy</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;VV&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/multimap/bag/ImmutableBagMultimap.html" title="interface in org.eclipse.collections.api.multimap.bag">ImmutableBagMultimap</a>&lt;VV,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends VV&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/map/ImmutableMap.html#groupBy(org.eclipse.collections.api.block.function.Function)">groupBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#groupBy(org.eclipse.collections.api.block.function.Function)">groupBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#groupBy(org.eclipse.collections.api.block.function.Function)">groupBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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;VV&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/multimap/bag/ImmutableBagMultimap.html" title="interface in org.eclipse.collections.api.multimap.bag">ImmutableBagMultimap</a>&lt;VV,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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;VV&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/map/ImmutableMap.html#groupByEach(org.eclipse.collections.api.block.function.Function)">groupByEach</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#groupByEach(org.eclipse.collections.api.block.function.Function)">groupByEach</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#groupByEach(org.eclipse.collections.api.block.function.Function)">groupByEach</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="groupByUniqueKey(org.eclipse.collections.api.block.function.Function)">groupByUniqueKey</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;V1&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;V1,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</span>&nbsp;<span class="memberName">groupByUniqueKey</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends V1&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#groupByUniqueKey(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 he results of these evaluations are collected
 into a new map, where the transformed value is the key. The generated keys must each be unique, or else an
 exception is thrown.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMap.html#groupByUniqueKey(org.eclipse.collections.api.block.function.Function)">groupByUniqueKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#groupByUniqueKey(org.eclipse.collections.api.block.function.Function)">groupByUniqueKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#groupByUniqueKey(org.eclipse.collections.api.block.function.Function)">groupByUniqueKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/UnsortedMapIterable.html#groupByUniqueKey(org.eclipse.collections.api.block.function.Function)">groupByUniqueKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/UnsortedMapIterable.html" title="interface in org.eclipse.collections.api.map">UnsortedMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../api/RichIterable.html#groupBy(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.groupBy(Function)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="aggregateBy(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function2)">aggregateBy</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;K1,&#8203;
V1,&#8203;
V2&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;K1,&#8203;V2&gt;</span>&nbsp;<span class="memberName">aggregateBy</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;? extends K1&gt;&nbsp;keyFunction,
<a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends V1&gt;&nbsp;valueFunction,
<a href="../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends V2&gt;&nbsp;zeroValueFactory,
<a href="../../../api/block/function/Function2.html" title="interface in org.eclipse.collections.api.block.function">Function2</a>&lt;? super V2,&#8203;? super V1,&#8203;? extends V2&gt;&nbsp;nonMutatingAggregator)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/map/MapIterable.html#aggregateBy(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function2)">MapIterable</a></code></span></div>
<div class="block">Applies an aggregate function over the map grouping results into a map based on the specific key and value groupBy functions.
 Aggregate results are allowed to be immutable as they will be replaced in place in the map. A second function
 specifies the initial "zero" aggregate value to work with.

 <pre>
 MapIterable&lt;String, Interval&gt; map = Maps.mutable.with("oneToFive", Interval.fromTo(1, 5), "sixToNine", Interval.fromTo(6, 9));

 MapIterable&lt;String, Long&gt; result = map.aggregateBy(
         eachKey -&gt; {
             return eachKey.equals("oneToFive")  ? "lessThanSix" : "greaterOrEqualsToSix";
         },
         each -&gt; each.sumOfInt(Integer::intValue),
         () -&gt; 0L,
         (argument1, argument2) -&gt; argument1 + argument2);

 MapIterable&lt;String, Long&gt; expected =
         Maps.mutable.with("lessThanSix", Interval.fromTo(1, 5).sumOfInt(Integer::intValue),
                 "greaterOrEqualsToSix", Interval.fromTo(6, 9).sumOfInt(Integer::intValue));
 Assert.assertEquals(expected, result);
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMap.html#aggregateBy(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function2)">aggregateBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#aggregateBy(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function2)">aggregateBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/MapIterable.html#aggregateBy(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function2)">aggregateBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/MapIterable.html" title="interface in org.eclipse.collections.api.map">MapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="aggregateInPlaceBy(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.procedure.Procedure2)">aggregateInPlaceBy</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;K2,&#8203;
V2&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;K2,&#8203;V2&gt;</span>&nbsp;<span class="memberName">aggregateInPlaceBy</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends K2&gt;&nbsp;groupBy,
<a href="../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends V2&gt;&nbsp;zeroValueFactory,
<a href="../../../api/block/procedure/Procedure2.html" title="interface in org.eclipse.collections.api.block.procedure">Procedure2</a>&lt;? super V2,&#8203;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;mutatingAggregator)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#aggregateInPlaceBy(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.procedure.Procedure2)">RichIterable</a></code></span></div>
<div class="block">Applies an aggregate procedure over the iterable grouping results into a Map based on the specific groupBy function.
 Aggregate results are required to be mutable as they will be changed in place by the procedure. A second function
 specifies the initial "zero" aggregate value to work with (i.e. new AtomicInteger(0)).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMap.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></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMap.html" title="interface in org.eclipse.collections.api.map">ImmutableMap</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.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></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.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></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="sumByInt(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.IntFunction)">sumByInt</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;V1&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/map/primitive/ImmutableObjectLongMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableObjectLongMap</a>&lt;V1&gt;</span>&nbsp;<span class="memberName">sumByInt</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends V1&gt;&nbsp;groupBy,
<a href="../../../api/block/function/primitive/IntFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">IntFunction</a>&lt;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#sumByInt(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.IntFunction)">RichIterable</a></code></span></div>
<div class="block">Groups and sums the values using the two specified functions.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#sumByInt(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.IntFunction)">sumByInt</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="sumByFloat(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.FloatFunction)">sumByFloat</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;V1&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/map/primitive/ImmutableObjectDoubleMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableObjectDoubleMap</a>&lt;V1&gt;</span>&nbsp;<span class="memberName">sumByFloat</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends V1&gt;&nbsp;groupBy,
<a href="../../../api/block/function/primitive/FloatFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">FloatFunction</a>&lt;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#sumByFloat(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.FloatFunction)">RichIterable</a></code></span></div>
<div class="block">Groups and sums the values using the two specified functions.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#sumByFloat(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.FloatFunction)">sumByFloat</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="sumByLong(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.LongFunction)">sumByLong</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;V1&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/map/primitive/ImmutableObjectLongMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableObjectLongMap</a>&lt;V1&gt;</span>&nbsp;<span class="memberName">sumByLong</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends V1&gt;&nbsp;groupBy,
<a href="../../../api/block/function/primitive/LongFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">LongFunction</a>&lt;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#sumByLong(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.LongFunction)">RichIterable</a></code></span></div>
<div class="block">Groups and sums the values using the two specified functions.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#sumByLong(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.LongFunction)">sumByLong</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="sumByDouble(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.DoubleFunction)">sumByDouble</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;V1&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/map/primitive/ImmutableObjectDoubleMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableObjectDoubleMap</a>&lt;V1&gt;</span>&nbsp;<span class="memberName">sumByDouble</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends V1&gt;&nbsp;groupBy,
<a href="../../../api/block/function/primitive/DoubleFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">DoubleFunction</a>&lt;? super <a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#sumByDouble(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.DoubleFunction)">RichIterable</a></code></span></div>
<div class="block">Groups and sums the values using the two specified functions.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#sumByDouble(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.primitive.DoubleFunction)">sumByDouble</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="countBy(org.eclipse.collections.api.block.function.Function)">countBy</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;V1&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;V1&gt;</span>&nbsp;<span class="memberName">countBy</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? extends V1&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#countBy(org.eclipse.collections.api.block.function.Function)">RichIterable</a></code></span></div>
<div class="block">This method will count the number of occurrences of each value calculated by applying the
 function to each element of the collection.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#countBy(org.eclipse.collections.api.block.function.Function)">countBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#countBy(org.eclipse.collections.api.block.function.Function)">countBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>9.0</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="countByWith(org.eclipse.collections.api.block.function.Function2,java.lang.Object)">
<!--   -->
</a><a id="countByWith(org.eclipse.collections.api.block.function.Function2,P)">countByWith</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;V1,&#8203;
P&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;V1&gt;</span>&nbsp;<span class="memberName">countByWith</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>,&#8203;? super P,&#8203;? extends V1&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#countByWith(org.eclipse.collections.api.block.function.Function2,P)">RichIterable</a></code></span></div>
<div class="block">This method will count the number of occurrences of each value calculated by applying the
 function to each element of the collection with the specified parameter as the second argument.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#countByWith(org.eclipse.collections.api.block.function.Function2,P)">countByWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#countByWith(org.eclipse.collections.api.block.function.Function2,P)">countByWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>9.0</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="countByEach(org.eclipse.collections.api.block.function.Function)">countByEach</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;V1&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/bag/ImmutableBag.html" title="interface in org.eclipse.collections.api.bag">ImmutableBag</a>&lt;V1&gt;</span>&nbsp;<span class="memberName">countByEach</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="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</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;V1&gt;&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/RichIterable.html#countByEach(org.eclipse.collections.api.block.function.Function)">RichIterable</a></code></span></div>
<div class="block">This method will count the number of occurrences of each value calculated by applying the
 function to each element of the collection.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/map/ImmutableMapIterable.html#countByEach(org.eclipse.collections.api.block.function.Function)">countByEach</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/map/ImmutableMapIterable.html" title="interface in org.eclipse.collections.api.map">ImmutableMapIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>,&#8203;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/RichIterable.html#countByEach(org.eclipse.collections.api.block.function.Function)">countByEach</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">K</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../AbstractRichIterable.html#countByEach(org.eclipse.collections.api.block.function.Function)">countByEach</a></code>&nbsp;in class&nbsp;<code><a href="../../AbstractRichIterable.html" title="class in org.eclipse.collections.impl">AbstractRichIterable</a>&lt;<a href="AbstractImmutableMap.html" title="type parameter in AbstractImmutableMap">V</a>&gt;</code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>10.0.0</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/AbstractImmutableMap.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><a href="#nested.class.summary">Nested</a>&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>
