<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Thu Aug 20 21:25:36 CDT 2020 -->
<title>SynchronizedDoubleObjectMap (Eclipse Collections - 10.4.0)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2020-08-20">
<meta name="description" content="declaration: package: org.eclipse.collections.impl.map.mutable.primitive, class: SynchronizedDoubleObjectMap">
<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":10,"i55":10,"i56":10,"i57":10,"i58":10,"i59":10,"i60":10,"i61":10,"i62":10,"i63":10,"i64":10,"i65":10,"i66":10,"i67":10,"i68":10,"i69":10,"i70":10,"i71":10,"i72":10,"i73":10,"i74":10,"i75":10,"i76":10,"i77":10,"i78":10,"i79":10,"i80":10,"i81":10,"i82":10,"i83":10,"i84":10,"i85":10,"i86":10,"i87":10,"i88":10,"i89":10,"i90":10,"i91":10,"i92":10,"i93":10,"i94":10,"i95":10,"i96":10,"i97":10,"i98":10,"i99":10,"i100":10,"i101":10,"i102":10,"i103":10,"i104":10,"i105":10,"i106":10,"i107":10,"i108":10,"i109":10,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":10,"i119":10,"i120":10,"i121":10,"i122":10,"i123":10,"i124":10,"i125":10,"i126":10,"i127":10,"i128":10,"i129":10,"i130":10,"i131":10,"i132":10,"i133":10,"i134":10,"i135":10,"i136":10,"i137":10,"i138":10,"i139":10,"i140":10,"i141":10,"i142":10,"i143":10,"i144":10,"i145":10,"i146":10,"i147":10,"i148":10,"i149":10,"i150":10,"i151":10,"i152":10,"i153":10,"i154":10,"i155":10,"i156":10,"i157":10,"i158":10,"i159":10,"i160":10,"i161":10,"i162":10,"i163":10,"i164":42,"i165":10,"i166":42,"i167":10};
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/SynchronizedDoubleObjectMap.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!--   -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.eclipse.collections.impl.map.mutable.primitive</a></div>
<h1 title="Class SynchronizedDoubleObjectMap" class="title">Class SynchronizedDoubleObjectMap&lt;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">org.eclipse.collections.impl.map.mutable.primitive.SynchronizedDoubleObjectMap&lt;V&gt;</div>
</div>
<section class="description">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <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="../../../../api/InternalIterable.html" title="interface in org.eclipse.collections.api">InternalIterable</a>&lt;V&gt;</code>, <code><a href="../../../../api/map/primitive/DoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">DoubleObjectMap</a>&lt;V&gt;</code>, <code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;V&gt;</code>, <code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;V&gt;</code>, <code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;V&gt;</code>, <code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;V&gt;</code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">SynchronizedDoubleObjectMap&lt;V&gt;</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>
implements <a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;V&gt;, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></pre>
<div class="block">A synchronized view of a <a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive"><code>MutableDoubleObjectMap</code></a>. It is imperative that the user manually synchronize on the collection when iterating over it using the
 standard JDK iterator or JDK 5 for loop, as per <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collections.html?is-external=true#synchronizedCollection(java.util.Collection)" title="class or interface in java.util" class="externalLink"><code>Collections.synchronizedCollection(Collection)</code></a>.
 <p>
 This file was automatically generated from template file synchronizedPrimitiveObjectMap.stg.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.1.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#asSynchronized()"><code>MutableDoubleObjectMap.asSynchronized()</code></a>, 
<a href="../../../../api/map/MutableMap.html#asSynchronized()"><code>MutableMap.asSynchronized()</code></a>, 
<a href="../../../../../../../serialized-form.html#org.eclipse.collections.impl.map.mutable.primitive.SynchronizedDoubleObjectMap">Serialized Form</a></dd>
</dl>
</section>
<section class="summary">
<ul class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!--   -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.eclipse.collections.api.map.primitive.MutableDoubleObjectMap)">SynchronizedDoubleObjectMap</a></span>&#8203;(<a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;map)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.eclipse.collections.api.map.primitive.MutableDoubleObjectMap,java.lang.Object)">SynchronizedDoubleObjectMap</a></span>&#8203;(<a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;map,
<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;newLock)</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;K,&#8203;
VV&gt;&nbsp;<a href="../../../../api/map/MutableMap.html" title="interface in org.eclipse.collections.api.map">MutableMap</a>&lt;K,&#8203;VV&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.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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends K&gt;&nbsp;groupBy,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends VV&gt;&nbsp;zeroValueFactory,
<a href="../../../../api/block/function/Function2.html" title="interface in org.eclipse.collections.api.block.function">Function2</a>&lt;? super VV,&#8203;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends VV&gt;&nbsp;nonMutatingAggregator)</code></th>
<td class="colLast">
<div class="block">Applies an aggregate function over the iterable grouping results into a map based on the specific groupBy function.</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>&lt;K,&#8203;
VV&gt;&nbsp;<a href="../../../../api/map/MutableMap.html" title="interface in org.eclipse.collections.api.map">MutableMap</a>&lt;K,&#8203;VV&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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends K&gt;&nbsp;groupBy,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends VV&gt;&nbsp;zeroValueFactory,
<a href="../../../../api/block/procedure/Procedure2.html" title="interface in org.eclipse.collections.api.block.procedure">Procedure2</a>&lt;? super VV,&#8203;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#allSatisfy(org.eclipse.collections.api.block.predicate.Predicate)">allSatisfy</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Returns true if the predicate evaluates to true for every element of the iterable or if the iterable is empty.</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>&lt;P&gt;&nbsp;boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#allSatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">allSatisfyWith</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? super P&gt;&nbsp;predicate,
P&nbsp;parameter)</code></th>
<td class="colLast">
<div class="block">Returns true if the predicate evaluates to true for every element of the collection, or returns false.</div>
</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#anySatisfy(org.eclipse.collections.api.block.predicate.Predicate)">anySatisfy</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Returns true if the predicate evaluates to true for any element of the iterable.</div>
</td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>&lt;P&gt;&nbsp;boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#anySatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">anySatisfyWith</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? super P&gt;&nbsp;predicate,
P&nbsp;parameter)</code></th>
<td class="colLast">
<div class="block">Returns true if the predicate evaluates to true for any element of the collection, or return false.</div>
</td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#appendString(java.lang.Appendable)">appendString</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Appendable</a>&nbsp;appendable)</code></th>
<td class="colLast">
<div class="block">Prints a string representation of this collection onto the given <code>Appendable</code>.</div>
</td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#appendString(java.lang.Appendable,java.lang.String)">appendString</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Appendable</a>&nbsp;appendable,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;separator)</code></th>
<td class="colLast">
<div class="block">Prints a string representation of this collection onto the given <code>Appendable</code>.</div>
</td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#appendString(java.lang.Appendable,java.lang.String,java.lang.String,java.lang.String)">appendString</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Appendable</a>&nbsp;appendable,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;start,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;separator,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;end)</code></th>
<td class="colLast">
<div class="block">Prints a string representation of this collection onto the given <code>Appendable</code>.</div>
</td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code><a href="../../../../api/LazyIterable.html" title="interface in org.eclipse.collections.api">LazyIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#asLazy()">asLazy</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a lazy (deferred) iterable, most likely implemented by calling LazyIterate.adapt(this).</div>
</td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#asSynchronized()">asSynchronized</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a synchronized view of this map, delegating all operations to this map but
 ensuring only one caller has access to the map at a time.</div>
</td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#asUnmodifiable()">asUnmodifiable</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an unmodifiable view of this map, delegating all read-only operations to this
 map and throwing an <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>UnsupportedOperationException</code></a> for all mutating operations.</div>
</td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#chunk(int)">chunk</a></span>&#8203;(int&nbsp;size)</code></th>
<td class="colLast">
<div class="block">Partitions elements in fixed size chunks.</div>
</td>
</tr>
<tr class="rowColor" id="i13">
<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="i14">
<td class="colFirst"><code>&lt;VV&gt;&nbsp;<a href="../../../../api/bag/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</a>&lt;VV&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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends VV&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="i15">
<td class="colFirst"><code>&lt;VV,&#8203;
R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;VV&gt;&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collect(org.eclipse.collections.api.block.function.Function,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends VV&gt;&nbsp;function,
R&nbsp;target)</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>, except that the results are gathered into the specified <code>target</code>
 collection.</div>
</td>
</tr>
<tr class="altColor" id="i16">
<td class="colFirst"><code><a href="../../../../api/bag/primitive/MutableBooleanBag.html" title="interface in org.eclipse.collections.api.bag.primitive">MutableBooleanBag</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="i17">
<td class="colFirst"><code>&lt;R extends <a href="../../../../api/collection/primitive/MutableBooleanCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableBooleanCollection</a>&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectBoolean(org.eclipse.collections.api.block.function.primitive.BooleanFunction,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;booleanFunction,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../../../../api/RichIterable.html#collectBoolean(org.eclipse.collections.api.block.function.primitive.BooleanFunction)"><code>RichIterable.collectBoolean(BooleanFunction)</code></a>, except that the results are gathered into the specified <code>target</code>
 collection.</div>
</td>
</tr>
<tr class="altColor" id="i18">
<td class="colFirst"><code><a href="../../../../api/bag/primitive/MutableByteBag.html" title="interface in org.eclipse.collections.api.bag.primitive">MutableByteBag</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="rowColor" id="i19">
<td class="colFirst"><code>&lt;R extends <a href="../../../../api/collection/primitive/MutableByteCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableByteCollection</a>&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectByte(org.eclipse.collections.api.block.function.primitive.ByteFunction,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;byteFunction,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../../../../api/RichIterable.html#collectByte(org.eclipse.collections.api.block.function.primitive.ByteFunction)"><code>RichIterable.collectByte(ByteFunction)</code></a>, except that the results are gathered into the specified <code>target</code>
 collection.</div>
</td>
</tr>
<tr class="altColor" id="i20">
<td class="colFirst"><code><a href="../../../../api/bag/primitive/MutableCharBag.html" title="interface in org.eclipse.collections.api.bag.primitive">MutableCharBag</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="i21">
<td class="colFirst"><code>&lt;R extends <a href="../../../../api/collection/primitive/MutableCharCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableCharCollection</a>&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectChar(org.eclipse.collections.api.block.function.primitive.CharFunction,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;charFunction,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../../../../api/RichIterable.html#collectChar(org.eclipse.collections.api.block.function.primitive.CharFunction)"><code>RichIterable.collectChar(CharFunction)</code></a>, except that the results are gathered into the specified <code>target</code>
 collection.</div>
</td>
</tr>
<tr class="altColor" id="i22">
<td class="colFirst"><code><a href="../../../../api/bag/primitive/MutableDoubleBag.html" title="interface in org.eclipse.collections.api.bag.primitive">MutableDoubleBag</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="rowColor" id="i23">
<td class="colFirst"><code>&lt;R extends <a href="../../../../api/collection/primitive/MutableDoubleCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableDoubleCollection</a>&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;doubleFunction,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../../../../api/RichIterable.html#collectDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction)"><code>RichIterable.collectDouble(DoubleFunction)</code></a>, except that the results are gathered into the specified <code>target</code>
 collection.</div>
</td>
</tr>
<tr class="altColor" id="i24">
<td class="colFirst"><code><a href="../../../../api/bag/primitive/MutableFloatBag.html" title="interface in org.eclipse.collections.api.bag.primitive">MutableFloatBag</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="i25">
<td class="colFirst"><code>&lt;R extends <a href="../../../../api/collection/primitive/MutableFloatCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableFloatCollection</a>&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;floatFunction,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../../../../api/RichIterable.html#collectFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction)"><code>RichIterable.collectFloat(FloatFunction)</code></a>, except that the results are gathered into the specified <code>target</code>
 collection.</div>
</td>
</tr>
<tr class="altColor" id="i26">
<td class="colFirst"><code>&lt;VV&gt;&nbsp;<a href="../../../../api/bag/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</a>&lt;VV&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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends VV&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="rowColor" id="i27">
<td class="colFirst"><code>&lt;VV,&#8203;
R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;VV&gt;&gt;<br>R</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,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends VV&gt;&nbsp;function,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as the collectIf method with two parameters but uses the specified target collection for the results.</div>
</td>
</tr>
<tr class="altColor" id="i28">
<td class="colFirst"><code><a href="../../../../api/bag/primitive/MutableIntBag.html" title="interface in org.eclipse.collections.api.bag.primitive">MutableIntBag</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="i29">
<td class="colFirst"><code>&lt;R extends <a href="../../../../api/collection/primitive/MutableIntCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableIntCollection</a>&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectInt(org.eclipse.collections.api.block.function.primitive.IntFunction,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;intFunction,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../../../../api/RichIterable.html#collectInt(org.eclipse.collections.api.block.function.primitive.IntFunction)"><code>RichIterable.collectInt(IntFunction)</code></a>, except that the results are gathered into the specified <code>target</code>
 collection.</div>
</td>
</tr>
<tr class="altColor" id="i30">
<td class="colFirst"><code><a href="../../../../api/bag/primitive/MutableLongBag.html" title="interface in org.eclipse.collections.api.bag.primitive">MutableLongBag</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="rowColor" id="i31">
<td class="colFirst"><code>&lt;R extends <a href="../../../../api/collection/primitive/MutableLongCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableLongCollection</a>&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectLong(org.eclipse.collections.api.block.function.primitive.LongFunction,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;longFunction,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../../../../api/RichIterable.html#collectLong(org.eclipse.collections.api.block.function.primitive.LongFunction)"><code>RichIterable.collectLong(LongFunction)</code></a>, except that the results are gathered into the specified <code>target</code>
 collection.</div>
</td>
</tr>
<tr class="altColor" id="i32">
<td class="colFirst"><code><a href="../../../../api/bag/primitive/MutableShortBag.html" title="interface in org.eclipse.collections.api.bag.primitive">MutableShortBag</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="i33">
<td class="colFirst"><code>&lt;R extends <a href="../../../../api/collection/primitive/MutableShortCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableShortCollection</a>&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectShort(org.eclipse.collections.api.block.function.primitive.ShortFunction,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;shortFunction,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../../../../api/RichIterable.html#collectShort(org.eclipse.collections.api.block.function.primitive.ShortFunction)"><code>RichIterable.collectShort(ShortFunction)</code></a>, except that the results are gathered into the specified <code>target</code>
 collection.</div>
</td>
</tr>
<tr class="altColor" id="i34">
<td class="colFirst"><code>&lt;P,&#8203;
VV&gt;&nbsp;<a href="../../../../api/bag/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="i35">
<td class="colFirst"><code>&lt;P,&#8203;
VV,&#8203;
R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;VV&gt;&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectWith(org.eclipse.collections.api.block.function.Function2,P,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? super P,&#8203;? extends VV&gt;&nbsp;function,
P&nbsp;parameter,
R&nbsp;targetCollection)</code></th>
<td class="colLast">
<div class="block">Same as collectWith but with a targetCollection parameter to gather the results.</div>
</td>
</tr>
<tr class="altColor" id="i36">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#contains(java.lang.Object)">contains</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;object)</code></th>
<td class="colLast">
<div class="block">Returns true if the iterable has an element which responds true to element.equals(object).</div>
</td>
</tr>
<tr class="rowColor" id="i37">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#containsAll(java.util.Collection)">containsAll</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;?&gt;&nbsp;source)</code></th>
<td class="colLast">
<div class="block">Returns true if all elements in source are contained in this collection.</div>
</td>
</tr>
<tr class="altColor" id="i38">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#containsAllArguments(java.lang.Object...)">containsAllArguments</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;elements)</code></th>
<td class="colLast">
<div class="block">Returns true if all elements in the specified var arg array are contained in this collection.</div>
</td>
</tr>
<tr class="rowColor" id="i39">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#containsAllIterable(java.lang.Iterable)">containsAllIterable</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;?&gt;&nbsp;source)</code></th>
<td class="colLast">
<div class="block">Returns true if all elements in source are contained in this collection.</div>
</td>
</tr>
<tr class="altColor" id="i40">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#containsKey(double)">containsKey</a></span>&#8203;(double&nbsp;key)</code></th>
<td class="colLast">
<div class="block">Returns whether or not the key is present in the map.</div>
</td>
</tr>
<tr class="rowColor" id="i41">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#containsValue(java.lang.Object)">containsValue</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;value)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i42">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#count(org.eclipse.collections.api.block.predicate.Predicate)">count</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Return the total number of elements that answer true to the specified predicate.</div>
</td>
</tr>
<tr class="rowColor" id="i43">
<td class="colFirst"><code>&lt;P&gt;&nbsp;int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#countWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">countWith</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? super P&gt;&nbsp;predicate,
P&nbsp;parameter)</code></th>
<td class="colLast">
<div class="block">Returns the total number of elements that evaluate to true for the specified predicate.</div>
</td>
</tr>
<tr class="altColor" id="i44">
<td class="colFirst"><code><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#detect(org.eclipse.collections.api.block.predicate.Predicate)">detect</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Returns the first element of the iterable for which the predicate evaluates to true or null in the case where no
 element returns true.</div>
</td>
</tr>
<tr class="rowColor" id="i45">
<td class="colFirst"><code><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#detectIfNone(org.eclipse.collections.api.block.predicate.Predicate,org.eclipse.collections.api.block.function.Function0)">detectIfNone</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Returns the first element of the iterable for which the predicate evaluates to true.</div>
</td>
</tr>
<tr class="altColor" id="i46">
<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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#detectOptional(org.eclipse.collections.api.block.predicate.Predicate)">detectOptional</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Returns the first element of the iterable for which the predicate evaluates to true as an Optional.</div>
</td>
</tr>
<tr class="rowColor" id="i47">
<td class="colFirst"><code>&lt;P&gt;&nbsp;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#detectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">detectWith</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? super P&gt;&nbsp;predicate,
P&nbsp;parameter)</code></th>
<td class="colLast">
<div class="block">Returns the first element that evaluates to true for the specified predicate2 and parameter, or null if none
 evaluate to true.</div>
</td>
</tr>
<tr class="altColor" id="i48">
<td class="colFirst"><code>&lt;P&gt;&nbsp;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#detectWithIfNone(org.eclipse.collections.api.block.predicate.Predicate2,P,org.eclipse.collections.api.block.function.Function0)">detectWithIfNone</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? super P&gt;&nbsp;predicate,
P&nbsp;parameter,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Returns the first element of the iterable that evaluates to true for the specified predicate2 and parameter, or
 returns the value of evaluating the specified function.</div>
</td>
</tr>
<tr class="rowColor" id="i49">
<td class="colFirst"><code>&lt;P&gt;&nbsp;<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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#detectWithOptional(org.eclipse.collections.api.block.predicate.Predicate2,P)">detectWithOptional</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? super P&gt;&nbsp;predicate,
P&nbsp;parameter)</code></th>
<td class="colLast">
<div class="block">Returns the first element that evaluates to true for the specified predicate2 and parameter as an Optional.</div>
</td>
</tr>
<tr class="altColor" id="i50">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#each(org.eclipse.collections.api.block.procedure.Procedure)">each</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;procedure)</code></th>
<td class="colLast">
<div class="block">The procedure is executed for each element in the iterable.</div>
</td>
</tr>
<tr class="rowColor" id="i51">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object)">equals</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;obj)</code></th>
<td class="colLast">
<div class="block">Follows the same general contract as <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"><code>Map.equals(Object)</code></a>.</div>
</td>
</tr>
<tr class="altColor" id="i52">
<td class="colFirst"><code>&lt;VV&gt;&nbsp;<a href="../../../../api/bag/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</a>&lt;VV&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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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"><code>flatCollect</code> is a special case of <a href="../../../../api/RichIterable.html#collect(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.collect(Function)</code></a>.</div>
</td>
</tr>
<tr class="rowColor" id="i53">
<td class="colFirst"><code>&lt;VV,&#8203;
R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;VV&gt;&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#flatCollect(org.eclipse.collections.api.block.function.Function,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as flatCollect, only the results are collected into the target collection.</div>
</td>
</tr>
<tr class="altColor" id="i54">
<td class="colFirst"><code>&lt;R extends <a href="../../../../api/collection/primitive/MutableBooleanCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableBooleanCollection</a>&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#flatCollectBoolean(org.eclipse.collections.api.block.function.Function,R)">flatCollectBoolean</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends <a href="../../../../api/BooleanIterable.html" title="interface in org.eclipse.collections.api">BooleanIterable</a>&gt;&nbsp;function,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as flatCollect, only the results are collected into the target collection.</div>
</td>
</tr>
<tr class="rowColor" id="i55">
<td class="colFirst"><code>&lt;R extends <a href="../../../../api/collection/primitive/MutableByteCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableByteCollection</a>&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#flatCollectByte(org.eclipse.collections.api.block.function.Function,R)">flatCollectByte</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends <a href="../../../../api/ByteIterable.html" title="interface in org.eclipse.collections.api">ByteIterable</a>&gt;&nbsp;function,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as flatCollect, only the results are collected into the target collection.</div>
</td>
</tr>
<tr class="altColor" id="i56">
<td class="colFirst"><code>&lt;R extends <a href="../../../../api/collection/primitive/MutableCharCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableCharCollection</a>&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#flatCollectChar(org.eclipse.collections.api.block.function.Function,R)">flatCollectChar</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends <a href="../../../../api/CharIterable.html" title="interface in org.eclipse.collections.api">CharIterable</a>&gt;&nbsp;function,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as flatCollect, only the results are collected into the target collection.</div>
</td>
</tr>
<tr class="rowColor" id="i57">
<td class="colFirst"><code>&lt;R extends <a href="../../../../api/collection/primitive/MutableDoubleCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableDoubleCollection</a>&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#flatCollectDouble(org.eclipse.collections.api.block.function.Function,R)">flatCollectDouble</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends <a href="../../../../api/DoubleIterable.html" title="interface in org.eclipse.collections.api">DoubleIterable</a>&gt;&nbsp;function,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as flatCollect, only the results are collected into the target collection.</div>
</td>
</tr>
<tr class="altColor" id="i58">
<td class="colFirst"><code>&lt;R extends <a href="../../../../api/collection/primitive/MutableFloatCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableFloatCollection</a>&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#flatCollectFloat(org.eclipse.collections.api.block.function.Function,R)">flatCollectFloat</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends <a href="../../../../api/FloatIterable.html" title="interface in org.eclipse.collections.api">FloatIterable</a>&gt;&nbsp;function,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as flatCollect, only the results are collected into the target collection.</div>
</td>
</tr>
<tr class="rowColor" id="i59">
<td class="colFirst"><code>&lt;R extends <a href="../../../../api/collection/primitive/MutableIntCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableIntCollection</a>&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#flatCollectInt(org.eclipse.collections.api.block.function.Function,R)">flatCollectInt</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends <a href="../../../../api/IntIterable.html" title="interface in org.eclipse.collections.api">IntIterable</a>&gt;&nbsp;function,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as flatCollect, only the results are collected into the target collection.</div>
</td>
</tr>
<tr class="altColor" id="i60">
<td class="colFirst"><code>&lt;R extends <a href="../../../../api/collection/primitive/MutableLongCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableLongCollection</a>&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#flatCollectLong(org.eclipse.collections.api.block.function.Function,R)">flatCollectLong</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends <a href="../../../../api/LongIterable.html" title="interface in org.eclipse.collections.api">LongIterable</a>&gt;&nbsp;function,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as flatCollect, only the results are collected into the target collection.</div>
</td>
</tr>
<tr class="rowColor" id="i61">
<td class="colFirst"><code>&lt;R extends <a href="../../../../api/collection/primitive/MutableShortCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableShortCollection</a>&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#flatCollectShort(org.eclipse.collections.api.block.function.Function,R)">flatCollectShort</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends <a href="../../../../api/ShortIterable.html" title="interface in org.eclipse.collections.api">ShortIterable</a>&gt;&nbsp;function,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as flatCollect, only the results are collected into the target collection.</div>
</td>
</tr>
<tr class="altColor" id="i62">
<td class="colFirst"><code><a href="../../../../api/map/primitive/MutableObjectDoubleMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableObjectDoubleMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</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 ObjectDoubleMap that is obtained by flipping the direction of this map and making the associations
 from value to key.</div>
</td>
</tr>
<tr class="rowColor" id="i63">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#forEach(org.eclipse.collections.api.block.procedure.Procedure)">forEach</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;procedure)</code></th>
<td class="colLast">
<div class="block">The procedure is executed for each element in the iterable.</div>
</td>
</tr>
<tr class="altColor" id="i64">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#forEachKey(org.eclipse.collections.api.block.procedure.primitive.DoubleProcedure)">forEachKey</a></span>&#8203;(<a href="../../../../api/block/procedure/primitive/DoubleProcedure.html" title="interface in org.eclipse.collections.api.block.procedure.primitive">DoubleProcedure</a>&nbsp;procedure)</code></th>
<td class="colLast">
<div class="block">Iterates through each key in the map, invoking the procedure for each.</div>
</td>
</tr>
<tr class="rowColor" id="i65">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#forEachKeyValue(org.eclipse.collections.api.block.procedure.primitive.DoubleObjectProcedure)">forEachKeyValue</a></span>&#8203;(<a href="../../../../api/block/procedure/primitive/DoubleObjectProcedure.html" title="interface in org.eclipse.collections.api.block.procedure.primitive">DoubleObjectProcedure</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;procedure)</code></th>
<td class="colLast">
<div class="block">Iterates through each key/value pair in the map, invoking the procedure for each.</div>
</td>
</tr>
<tr class="altColor" id="i66">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#forEachValue(org.eclipse.collections.api.block.procedure.Procedure)">forEachValue</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;procedure)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i67">
<td class="colFirst"><code>&lt;P&gt;&nbsp;void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#forEachWith(org.eclipse.collections.api.block.procedure.Procedure2,P)">forEachWith</a></span>&#8203;(<a href="../../../../api/block/procedure/Procedure2.html" title="interface in org.eclipse.collections.api.block.procedure">Procedure2</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? super P&gt;&nbsp;procedure,
P&nbsp;parameter)</code></th>
<td class="colLast">
<div class="block">The procedure2 is evaluated for each element in the iterable with the specified parameter provided
 as the second argument.</div>
</td>
</tr>
<tr class="altColor" id="i68">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#forEachWithIndex(org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure)">forEachWithIndex</a></span>&#8203;(<a href="../../../../api/block/procedure/primitive/ObjectIntProcedure.html" title="interface in org.eclipse.collections.api.block.procedure.primitive">ObjectIntProcedure</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;objectIntProcedure)</code></th>
<td class="colLast">
<div class="block">Iterates over the iterable passing each element and the current relative int index to the specified instance of
 ObjectIntProcedure.</div>
</td>
</tr>
<tr class="rowColor" id="i69">
<td class="colFirst"><code><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#get(double)">get</a></span>&#8203;(double&nbsp;key)</code></th>
<td class="colLast">
<div class="block">Retrieves the value associated with the key.</div>
</td>
</tr>
<tr class="altColor" id="i70">
<td class="colFirst"><code><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFirst()">getFirst</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the first element of an iterable.</div>
</td>
</tr>
<tr class="rowColor" id="i71">
<td class="colFirst"><code><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getIfAbsent(double,org.eclipse.collections.api.block.function.Function0)">getIfAbsent</a></span>&#8203;(double&nbsp;key,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;ifAbsent)</code></th>
<td class="colLast">
<div class="block">Retrieves the value associated with the key if one exists; if it does not,
 returns the result of invoking the value supplier.</div>
</td>
</tr>
<tr class="altColor" id="i72">
<td class="colFirst"><code><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getIfAbsentPut(double,org.eclipse.collections.api.block.function.Function0)">getIfAbsentPut</a></span>&#8203;(double&nbsp;key,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Retrieves the value associated with the key if one exists; if it does not,
 invokes the supplier and associates the result with the key.</div>
</td>
</tr>
<tr class="rowColor" id="i73">
<td class="colFirst"><code><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getIfAbsentPut(double,V)">getIfAbsentPut</a></span>&#8203;(double&nbsp;key,
<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Retrieves the value associated with the key if one exists; if it does not,
 associates a value with the key.</div>
</td>
</tr>
<tr class="altColor" id="i74">
<td class="colFirst"><code>&lt;P&gt;&nbsp;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getIfAbsentPutWith(double,org.eclipse.collections.api.block.function.Function,P)">getIfAbsentPutWith</a></span>&#8203;(double&nbsp;key,
<a href="../../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super P,&#8203;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function,
P&nbsp;parameter)</code></th>
<td class="colLast">
<div class="block">Retrieves the value associated with the key if one exists; if it does not,
 invokes the value function with the parameter and associates the result with the key.</div>
</td>
</tr>
<tr class="rowColor" id="i75">
<td class="colFirst"><code><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getIfAbsentPutWithKey(double,org.eclipse.collections.api.block.function.primitive.DoubleToObjectFunction)">getIfAbsentPutWithKey</a></span>&#8203;(double&nbsp;key,
<a href="../../../../api/block/function/primitive/DoubleToObjectFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">DoubleToObjectFunction</a>&lt;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Retrieves the value associated with the key if one exists; if it does not,
 associates the result of invoking the value function with the key.</div>
</td>
</tr>
<tr class="altColor" id="i76">
<td class="colFirst"><code><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLast()">getLast</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the last element of an iterable.</div>
</td>
</tr>
<tr class="rowColor" id="i77">
<td class="colFirst"><code><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOnly()">getOnly</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the element if the iterable has exactly one element.</div>
</td>
</tr>
<tr class="altColor" id="i78">
<td class="colFirst"><code>&lt;VV&gt;&nbsp;<a href="../../../../api/multimap/bag/MutableBagMultimap.html" title="interface in org.eclipse.collections.api.multimap.bag">MutableBagMultimap</a>&lt;VV,&#8203;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="i79">
<td class="colFirst"><code>&lt;VV,&#8203;
R extends <a href="../../../../api/multimap/MutableMultimap.html" title="interface in org.eclipse.collections.api.multimap">MutableMultimap</a>&lt;VV,&#8203;
<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#groupBy(org.eclipse.collections.api.block.function.Function,R)">groupBy</a></span>&#8203;(<a href="../../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends VV&gt;&nbsp;function,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../../../../api/RichIterable.html#groupBy(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.groupBy(Function)</code></a>, except that the results are gathered into the specified <code>target</code>
 multimap.</div>
</td>
</tr>
<tr class="altColor" id="i80">
<td class="colFirst"><code>&lt;VV&gt;&nbsp;<a href="../../../../api/multimap/bag/MutableBagMultimap.html" title="interface in org.eclipse.collections.api.multimap.bag">MutableBagMultimap</a>&lt;VV,&#8203;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="rowColor" id="i81">
<td class="colFirst"><code>&lt;VV,&#8203;
R extends <a href="../../../../api/multimap/MutableMultimap.html" title="interface in org.eclipse.collections.api.multimap">MutableMultimap</a>&lt;VV,&#8203;
<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#groupByEach(org.eclipse.collections.api.block.function.Function,R)">groupByEach</a></span>&#8203;(<a href="../../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../../../../api/RichIterable.html#groupByEach(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.groupByEach(Function)</code></a>, except that the results are gathered into the specified <code>target</code>
 multimap.</div>
</td>
</tr>
<tr class="altColor" id="i82">
<td class="colFirst"><code>&lt;VV&gt;&nbsp;<a href="../../../../api/map/MutableMap.html" title="interface in org.eclipse.collections.api.map">MutableMap</a>&lt;VV,&#8203;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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 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="i83">
<td class="colFirst"><code>&lt;VV,&#8203;
R extends <a href="../../../../api/map/MutableMapIterable.html" title="interface in org.eclipse.collections.api.map">MutableMapIterable</a>&lt;VV,&#8203;
<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#groupByUniqueKey(org.eclipse.collections.api.block.function.Function,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends VV&gt;&nbsp;function,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../../../../api/RichIterable.html#groupByUniqueKey(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.groupByUniqueKey(Function)</code></a>, except that the results are gathered into the specified <code>target</code>
 map.</div>
</td>
</tr>
<tr class="altColor" id="i84">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hashCode()">hashCode</a></span>()</code></th>
<td class="colLast">
<div class="block">Follows the same general contract as <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"><code>Map.hashCode()</code></a>.</div>
</td>
</tr>
<tr class="rowColor" id="i85">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#injectInto(double,org.eclipse.collections.api.block.function.primitive.DoubleObjectToDoubleFunction)">injectInto</a></span>&#8203;(double&nbsp;injectedValue,
<a href="../../../../api/block/function/primitive/DoubleObjectToDoubleFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">DoubleObjectToDoubleFunction</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Returns the final double result of evaluating function using each element of the iterable and the previous evaluation
 result as the parameters.</div>
</td>
</tr>
<tr class="altColor" id="i86">
<td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#injectInto(float,org.eclipse.collections.api.block.function.primitive.FloatObjectToFloatFunction)">injectInto</a></span>&#8203;(float&nbsp;injectedValue,
<a href="../../../../api/block/function/primitive/FloatObjectToFloatFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">FloatObjectToFloatFunction</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Returns the final float result of evaluating function using each element of the iterable and the previous evaluation
 result as the parameters.</div>
</td>
</tr>
<tr class="rowColor" id="i87">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#injectInto(int,org.eclipse.collections.api.block.function.primitive.IntObjectToIntFunction)">injectInto</a></span>&#8203;(int&nbsp;injectedValue,
<a href="../../../../api/block/function/primitive/IntObjectToIntFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">IntObjectToIntFunction</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Returns the final int result of evaluating function using each element of the iterable and the previous evaluation
 result as the parameters.</div>
</td>
</tr>
<tr class="altColor" id="i88">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#injectInto(long,org.eclipse.collections.api.block.function.primitive.LongObjectToLongFunction)">injectInto</a></span>&#8203;(long&nbsp;injectedValue,
<a href="../../../../api/block/function/primitive/LongObjectToLongFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">LongObjectToLongFunction</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Returns the final long result of evaluating function using each element of the iterable and the previous evaluation
 result as the parameters.</div>
</td>
</tr>
<tr class="rowColor" id="i89">
<td class="colFirst"><code>&lt;IV&gt;&nbsp;IV</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#injectInto(IV,org.eclipse.collections.api.block.function.Function2)">injectInto</a></span>&#8203;(IV&nbsp;injectedValue,
<a href="../../../../api/block/function/Function2.html" title="interface in org.eclipse.collections.api.block.function">Function2</a>&lt;? super IV,&#8203;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends IV&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Returns the final result of evaluating function using each element of the iterable and the previous evaluation
 result as the parameters.</div>
</td>
</tr>
<tr class="altColor" id="i90">
<td class="colFirst"><code>&lt;R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#into(R)">into</a></span>&#8203;(R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Adds all the elements in this iterable to the specific target Collection.</div>
</td>
</tr>
<tr class="rowColor" id="i91">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEmpty()">isEmpty</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns true if this iterable has zero items.</div>
</td>
</tr>
<tr class="altColor" id="i92">
<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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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">
<div class="block">Must be called in a synchronized block.</div>
</td>
</tr>
<tr class="rowColor" id="i93">
<td class="colFirst"><code><a href="../../../../api/set/primitive/MutableDoubleSet.html" title="interface in org.eclipse.collections.api.set.primitive">MutableDoubleSet</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#keySet()">keySet</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a set containing all the keys in this map.</div>
</td>
</tr>
<tr class="altColor" id="i94">
<td class="colFirst"><code><a href="../../../../api/LazyDoubleIterable.html" title="interface in org.eclipse.collections.api">LazyDoubleIterable</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#keysView()">keysView</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a view of the keys in this map.</div>
</td>
</tr>
<tr class="rowColor" id="i95">
<td class="colFirst"><code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="../../../../api/tuple/primitive/DoubleObjectPair.html" title="interface in org.eclipse.collections.api.tuple.primitive">DoubleObjectPair</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#keyValuesView()">keyValuesView</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a view of the key/value pairs in this map.</div>
</td>
</tr>
<tr class="altColor" id="i96">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#makeString()">makeString</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a string representation of this collection by delegating to <a href="../../../../api/RichIterable.html#makeString(java.lang.String)"><code>RichIterable.makeString(String)</code></a> and defaulting
 the separator parameter to the characters <code>", "</code> (comma and space).</div>
</td>
</tr>
<tr class="rowColor" id="i97">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#makeString(java.lang.String)">makeString</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;separator)</code></th>
<td class="colLast">
<div class="block">Returns a string representation of this collection by delegating to <a href="../../../../api/RichIterable.html#makeString(java.lang.String,java.lang.String,java.lang.String)"><code>RichIterable.makeString(String, String, String)</code></a>
 and defaulting the start and end parameters to <code>""</code> (the empty String).</div>
</td>
</tr>
<tr class="altColor" id="i98">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#makeString(java.lang.String,java.lang.String,java.lang.String)">makeString</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;start,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;separator,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;end)</code></th>
<td class="colLast">
<div class="block">Returns a string representation of this collection with the elements separated by the specified
 separator and enclosed between the start and end strings.</div>
</td>
</tr>
<tr class="rowColor" id="i99">
<td class="colFirst"><code><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#max()">max</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the maximum element out of this container based on the natural order.</div>
</td>
</tr>
<tr class="altColor" id="i100">
<td class="colFirst"><code><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#max(java.util.Comparator)">max</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;comparator)</code></th>
<td class="colLast">
<div class="block">Returns the maximum element out of this container based on the comparator.</div>
</td>
</tr>
<tr class="rowColor" id="i101">
<td class="colFirst"><code>&lt;VV extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;? super VV&gt;&gt;<br><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#maxBy(org.eclipse.collections.api.block.function.Function)">maxBy</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends VV&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Returns the maximum elements out of this container based on the natural order of the attribute returned by Function.</div>
</td>
</tr>
<tr class="altColor" id="i102">
<td class="colFirst"><code><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#min()">min</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the minimum element out of this container based on the natural order.</div>
</td>
</tr>
<tr class="rowColor" id="i103">
<td class="colFirst"><code><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#min(java.util.Comparator)">min</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;comparator)</code></th>
<td class="colLast">
<div class="block">Returns the minimum element out of this container based on the comparator.</div>
</td>
</tr>
<tr class="altColor" id="i104">
<td class="colFirst"><code>&lt;VV extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;? super VV&gt;&gt;<br><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#minBy(org.eclipse.collections.api.block.function.Function)">minBy</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends VV&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Returns the minimum elements out of this container based on the natural order of the attribute returned by Function.</div>
</td>
</tr>
<tr class="rowColor" id="i105">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#noneSatisfy(org.eclipse.collections.api.block.predicate.Predicate)">noneSatisfy</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Returns true if the predicate evaluates to false for every element of the iterable or if the iterable is empty.</div>
</td>
</tr>
<tr class="altColor" id="i106">
<td class="colFirst"><code>&lt;P&gt;&nbsp;boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#noneSatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">noneSatisfyWith</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? super P&gt;&nbsp;predicate,
P&nbsp;parameter)</code></th>
<td class="colLast">
<div class="block">Returns true if the predicate evaluates to false for every element of the collection, or return false.</div>
</td>
</tr>
<tr class="rowColor" id="i107">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#notEmpty()">notEmpty</a></span>()</code></th>
<td class="colLast">
<div class="block">The English equivalent of !this.isEmpty()</div>
</td>
</tr>
<tr class="altColor" id="i108">
<td class="colFirst"><code><a href="../../../../api/partition/bag/PartitionMutableBag.html" title="interface in org.eclipse.collections.api.partition.bag">PartitionMutableBag</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="rowColor" id="i109">
<td class="colFirst"><code>&lt;P&gt;&nbsp;<a href="../../../../api/partition/bag/PartitionMutableBag.html" title="interface in org.eclipse.collections.api.partition.bag">PartitionMutableBag</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="altColor" id="i110">
<td class="colFirst"><code><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#put(double,V)">put</a></span>&#8203;(double&nbsp;key,
<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Associates a value with the specified key.</div>
</td>
</tr>
<tr class="rowColor" id="i111">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#putAll(org.eclipse.collections.api.map.primitive.DoubleObjectMap)">putAll</a></span>&#8203;(<a href="../../../../api/map/primitive/DoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">DoubleObjectMap</a>&lt;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;map)</code></th>
<td class="colLast">
<div class="block">Puts all of the key/value mappings from the specified map into this map.</div>
</td>
</tr>
<tr class="altColor" id="i112">
<td class="colFirst"><code><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#putPair(org.eclipse.collections.api.tuple.primitive.DoubleObjectPair)">putPair</a></span>&#8203;(<a href="../../../../api/tuple/primitive/DoubleObjectPair.html" title="interface in org.eclipse.collections.api.tuple.primitive">DoubleObjectPair</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;keyValuePair)</code></th>
<td class="colLast">
<div class="block">This method allows MutableDoubleObjectMap the ability to add an element in the form of <code>DoubleObjectPair&lt;V&gt;</code>.</div>
</td>
</tr>
<tr class="rowColor" id="i113">
<td class="colFirst"><code><a href="../../../../api/bag/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="i114">
<td class="colFirst"><code>&lt;R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reject(org.eclipse.collections.api.block.predicate.Predicate,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as the reject method with one parameter but uses the specified target collection for the results.</div>
</td>
</tr>
<tr class="rowColor" id="i115">
<td class="colFirst"><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reject(org.eclipse.collections.api.block.predicate.primitive.DoubleObjectPredicate)">reject</a></span>&#8203;(<a href="../../../../api/block/predicate/primitive/DoubleObjectPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">DoubleObjectPredicate</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Return a copy of this map containing only the key/value pairs that do not match the
 predicate.</div>
</td>
</tr>
<tr class="altColor" id="i116">
<td class="colFirst"><code>&lt;P&gt;&nbsp;<a href="../../../../api/bag/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="rowColor" id="i117">
<td class="colFirst"><code>&lt;P,&#8203;
R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rejectWith(org.eclipse.collections.api.block.predicate.Predicate2,P,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? super P&gt;&nbsp;predicate,
P&nbsp;parameter,
R&nbsp;targetCollection)</code></th>
<td class="colLast">
<div class="block">Similar to <a href="../../../../api/RichIterable.html#reject(org.eclipse.collections.api.block.predicate.Predicate,R)"><code>RichIterable.reject(Predicate, Collection)</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="i118">
<td class="colFirst"><code><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#remove(double)">remove</a></span>&#8203;(double&nbsp;key)</code></th>
<td class="colLast">
<div class="block">Removes the mapping associated with the key, if one exists, from the map.</div>
</td>
</tr>
<tr class="rowColor" id="i119">
<td class="colFirst"><code><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeKey(double)">removeKey</a></span>&#8203;(double&nbsp;key)</code></th>
<td class="colLast">
<div class="block">Removes the mapping associated with the key, if one exists, from the map.</div>
</td>
</tr>
<tr class="altColor" id="i120">
<td class="colFirst"><code><a href="../../../../api/bag/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="rowColor" id="i121">
<td class="colFirst"><code>&lt;R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#select(org.eclipse.collections.api.block.predicate.Predicate,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as the select method with one parameter but uses the specified target collection for the results.</div>
</td>
</tr>
<tr class="altColor" id="i122">
<td class="colFirst"><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#select(org.eclipse.collections.api.block.predicate.primitive.DoubleObjectPredicate)">select</a></span>&#8203;(<a href="../../../../api/block/predicate/primitive/DoubleObjectPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">DoubleObjectPredicate</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Return a copy of this map containing only the key/value pairs that match the predicate.</div>
</td>
</tr>
<tr class="rowColor" id="i123">
<td class="colFirst"><code>&lt;S&gt;&nbsp;<a href="../../../../api/bag/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</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="i124">
<td class="colFirst"><code>&lt;P&gt;&nbsp;<a href="../../../../api/bag/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="i125">
<td class="colFirst"><code>&lt;P,&#8203;
R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#selectWith(org.eclipse.collections.api.block.predicate.Predicate2,P,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? super P&gt;&nbsp;predicate,
P&nbsp;parameter,
R&nbsp;targetCollection)</code></th>
<td class="colLast">
<div class="block">Similar to <a href="../../../../api/RichIterable.html#select(org.eclipse.collections.api.block.predicate.Predicate,R)"><code>RichIterable.select(Predicate, Collection)</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="i126">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#size()">size</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the number of items in this iterable.</div>
</td>
</tr>
<tr class="rowColor" id="i127">
<td class="colFirst"><code>&lt;V1&gt;&nbsp;<a href="../../../../api/map/primitive/MutableObjectDoubleMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableObjectDoubleMap</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="i128">
<td class="colFirst"><code>&lt;V1&gt;&nbsp;<a href="../../../../api/map/primitive/MutableObjectDoubleMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableObjectDoubleMap</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="i129">
<td class="colFirst"><code>&lt;V1&gt;&nbsp;<a href="../../../../api/map/primitive/MutableObjectLongMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableObjectLongMap</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="i130">
<td class="colFirst"><code>&lt;V1&gt;&nbsp;<a href="../../../../api/map/primitive/MutableObjectLongMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableObjectLongMap</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="i131">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sumOfDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction)">sumOfDouble</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Returns the final double result of evaluating function for each element of the iterable and adding the results
 together.</div>
</td>
</tr>
<tr class="altColor" id="i132">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sumOfFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction)">sumOfFloat</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Returns the final double result of evaluating function for each element of the iterable and adding the results
 together.</div>
</td>
</tr>
<tr class="rowColor" id="i133">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sumOfInt(org.eclipse.collections.api.block.function.primitive.IntFunction)">sumOfInt</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Returns the final long result of evaluating function for each element of the iterable and adding the results
 together.</div>
</td>
</tr>
<tr class="altColor" id="i134">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sumOfLong(org.eclipse.collections.api.block.function.primitive.LongFunction)">sumOfLong</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Returns the final long result of evaluating function for each element of the iterable and adding the results
 together.</div>
</td>
</tr>
<tr class="rowColor" id="i135">
<td class="colFirst"><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;procedure)</code></th>
<td class="colLast">
<div class="block">Executes the Procedure for each element in the iterable and returns <code>this</code>.</div>
</td>
</tr>
<tr class="altColor" id="i136">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toArray()">toArray</a></span>()</code></th>
<td class="colLast">
<div class="block">Converts this iterable to an array.</div>
</td>
</tr>
<tr class="rowColor" id="i137">
<td class="colFirst"><code>&lt;T&gt;&nbsp;T[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toArray(T%5B%5D)">toArray</a></span>&#8203;(T[]&nbsp;a)</code></th>
<td class="colLast">
<div class="block">Converts this iterable to an array using the specified target array, assuming the target array is as long
 or longer than the iterable.</div>
</td>
</tr>
<tr class="altColor" id="i138">
<td class="colFirst"><code><a href="../../../../api/bag/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toBag()">toBag</a></span>()</code></th>
<td class="colLast">
<div class="block">Converts the collection to the default MutableBag implementation.</div>
</td>
</tr>
<tr class="rowColor" id="i139">
<td class="colFirst"><code>&lt;NK,&#8203;
NV&gt;&nbsp;<a href="../../../../api/bimap/MutableBiMap.html" title="interface in org.eclipse.collections.api.bimap">MutableBiMap</a>&lt;NK,&#8203;NV&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toBiMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toBiMap</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NK&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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NV&gt;&nbsp;valueFunction)</code></th>
<td class="colLast">
<div class="block">Converts the collection to a BiMap implementation using the specified key and value functions.</div>
</td>
</tr>
<tr class="altColor" id="i140">
<td class="colFirst"><code><a href="../../../../api/map/primitive/ImmutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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">Returns a copy of this map that is immutable (if this map is mutable) or
 itself if it is already immutable.</div>
</td>
</tr>
<tr class="rowColor" id="i141">
<td class="colFirst"><code><a href="../../../../api/list/MutableList.html" title="interface in org.eclipse.collections.api.list">MutableList</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toList()">toList</a></span>()</code></th>
<td class="colLast">
<div class="block">Converts the collection to a MutableList implementation.</div>
</td>
</tr>
<tr class="altColor" id="i142">
<td class="colFirst"><code>&lt;NK,&#8203;
NV&gt;&nbsp;<a href="../../../../api/map/MutableMap.html" title="interface in org.eclipse.collections.api.map">MutableMap</a>&lt;NK,&#8203;NV&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toMap</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NK&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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NV&gt;&nbsp;valueFunction)</code></th>
<td class="colLast">
<div class="block">Converts the collection to a MutableMap implementation using the specified key and value functions.</div>
</td>
</tr>
<tr class="rowColor" id="i143">
<td class="colFirst"><code>&lt;NK,&#8203;
NV,&#8203;
R extends <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;NK,&#8203;
NV&gt;&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function,R)">toMap</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NK&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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NV&gt;&nbsp;valueFunction,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../../../../api/RichIterable.html#toMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)"><code>RichIterable.toMap(Function, Function)</code></a>, except that the results are gathered into the specified <code>target</code>
 map.</div>
</td>
</tr>
<tr class="altColor" id="i144">
<td class="colFirst"><code><a href="../../../../api/set/MutableSet.html" title="interface in org.eclipse.collections.api.set">MutableSet</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toSet()">toSet</a></span>()</code></th>
<td class="colLast">
<div class="block">Converts the collection to a MutableSet implementation.</div>
</td>
</tr>
<tr class="rowColor" id="i145">
<td class="colFirst"><code><a href="../../../../api/bag/sorted/MutableSortedBag.html" title="interface in org.eclipse.collections.api.bag.sorted">MutableSortedBag</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toSortedBag()">toSortedBag</a></span>()</code></th>
<td class="colLast">
<div class="block">Converts the collection to a MutableSortedBag implementation and sorts it using the natural order of the
 elements.</div>
</td>
</tr>
<tr class="altColor" id="i146">
<td class="colFirst"><code><a href="../../../../api/bag/sorted/MutableSortedBag.html" title="interface in org.eclipse.collections.api.bag.sorted">MutableSortedBag</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toSortedBag(java.util.Comparator)">toSortedBag</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;comparator)</code></th>
<td class="colLast">
<div class="block">Converts the collection to the MutableSortedBag implementation and sorts it using the specified comparator.</div>
</td>
</tr>
<tr class="rowColor" id="i147">
<td class="colFirst"><code>&lt;VV extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;? super VV&gt;&gt;<br><a href="../../../../api/bag/sorted/MutableSortedBag.html" title="interface in org.eclipse.collections.api.bag.sorted">MutableSortedBag</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toSortedBagBy(org.eclipse.collections.api.block.function.Function)">toSortedBagBy</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends VV&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Converts the collection to a MutableSortedBag implementation and sorts it based on the natural order of the
 attribute returned by <code>function</code>.</div>
</td>
</tr>
<tr class="altColor" id="i148">
<td class="colFirst"><code><a href="../../../../api/list/MutableList.html" title="interface in org.eclipse.collections.api.list">MutableList</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toSortedList()">toSortedList</a></span>()</code></th>
<td class="colLast">
<div class="block">Converts the collection to a MutableList implementation and sorts it using the natural order of the elements.</div>
</td>
</tr>
<tr class="rowColor" id="i149">
<td class="colFirst"><code><a href="../../../../api/list/MutableList.html" title="interface in org.eclipse.collections.api.list">MutableList</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toSortedList(java.util.Comparator)">toSortedList</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;comparator)</code></th>
<td class="colLast">
<div class="block">Converts the collection to a MutableList implementation and sorts it using the specified comparator.</div>
</td>
</tr>
<tr class="altColor" id="i150">
<td class="colFirst"><code>&lt;VV extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;? super VV&gt;&gt;<br><a href="../../../../api/list/MutableList.html" title="interface in org.eclipse.collections.api.list">MutableList</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toSortedListBy(org.eclipse.collections.api.block.function.Function)">toSortedListBy</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends VV&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Converts the collection to a MutableList implementation and sorts it based on the natural order of the
 attribute returned by <code>function</code>.</div>
</td>
</tr>
<tr class="rowColor" id="i151">
<td class="colFirst"><code>&lt;NK,&#8203;
NV&gt;&nbsp;<a href="../../../../api/map/sorted/MutableSortedMap.html" title="interface in org.eclipse.collections.api.map.sorted">MutableSortedMap</a>&lt;NK,&#8203;NV&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toSortedMap(java.util.Comparator,org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toSortedMap</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;? super NK&gt;&nbsp;comparator,
<a href="../../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NK&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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NV&gt;&nbsp;valueFunction)</code></th>
<td class="colLast">
<div class="block">Converts the collection to a MutableSortedMap implementation using the specified key and value functions
 sorted by the given comparator.</div>
</td>
</tr>
<tr class="altColor" id="i152">
<td class="colFirst"><code>&lt;NK,&#8203;
NV&gt;&nbsp;<a href="../../../../api/map/sorted/MutableSortedMap.html" title="interface in org.eclipse.collections.api.map.sorted">MutableSortedMap</a>&lt;NK,&#8203;NV&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toSortedMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toSortedMap</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NK&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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NV&gt;&nbsp;valueFunction)</code></th>
<td class="colLast">
<div class="block">Converts the collection to a MutableSortedMap implementation using the specified key and value functions
 sorted by the key elements' natural ordering.</div>
</td>
</tr>
<tr class="rowColor" id="i153">
<td class="colFirst"><code>&lt;KK extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;? super KK&gt;,&#8203;
NK,&#8203;
NV&gt;<br><a href="../../../../api/map/sorted/MutableSortedMap.html" title="interface in org.eclipse.collections.api.map.sorted">MutableSortedMap</a>&lt;NK,&#8203;NV&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toSortedMapBy(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toSortedMapBy</a></span>&#8203;(<a href="../../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super NK,&#8203;KK&gt;&nbsp;sortBy,
<a href="../../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NK&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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NV&gt;&nbsp;valueFunction)</code></th>
<td class="colLast">
<div class="block">Converts the collection to a MutableSortedMap implementation using the specified key and value functions
 and sorts it based on the natural order of the attribute returned by <code>sortBy</code> function.</div>
</td>
</tr>
<tr class="altColor" id="i154">
<td class="colFirst"><code><a href="../../../../api/set/sorted/MutableSortedSet.html" title="interface in org.eclipse.collections.api.set.sorted">MutableSortedSet</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toSortedSet()">toSortedSet</a></span>()</code></th>
<td class="colLast">
<div class="block">Converts the collection to a MutableSortedSet implementation and sorts it using the natural order of the
 elements.</div>
</td>
</tr>
<tr class="rowColor" id="i155">
<td class="colFirst"><code><a href="../../../../api/set/sorted/MutableSortedSet.html" title="interface in org.eclipse.collections.api.set.sorted">MutableSortedSet</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toSortedSet(java.util.Comparator)">toSortedSet</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;comparator)</code></th>
<td class="colLast">
<div class="block">Converts the collection to a MutableSortedSet implementation and sorts it using the specified comparator.</div>
</td>
</tr>
<tr class="altColor" id="i156">
<td class="colFirst"><code>&lt;VV extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;? super VV&gt;&gt;<br><a href="../../../../api/set/sorted/MutableSortedSet.html" title="interface in org.eclipse.collections.api.set.sorted">MutableSortedSet</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toSortedSetBy(org.eclipse.collections.api.block.function.Function)">toSortedSetBy</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends VV&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Converts the collection to a MutableSortedSet implementation and sorts it based on the natural order of the
 attribute returned by <code>function</code>.</div>
</td>
</tr>
<tr class="rowColor" id="i157">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a string with the keys and values of this map separated by commas with spaces and
 enclosed in curly braces.</div>
</td>
</tr>
<tr class="altColor" id="i158">
<td class="colFirst"><code><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#updateValue(double,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function)">updateValue</a></span>&#8203;(double&nbsp;key,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;factory,
<a href="../../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Look up the value associated with <code>key</code>, apply the <code>function</code> to it, and replace the value.</div>
</td>
</tr>
<tr class="rowColor" id="i159">
<td class="colFirst"><code>&lt;P&gt;&nbsp;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#updateValueWith(double,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function2,P)">updateValueWith</a></span>&#8203;(double&nbsp;key,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;factory,
<a href="../../../../api/block/function/Function2.html" title="interface in org.eclipse.collections.api.block.function">Function2</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? super P,&#8203;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function,
P&nbsp;parameter)</code></th>
<td class="colLast">
<div class="block">Updates or sets the value associated with the key by applying the function to the
 existing value, if one exists, or the initial value supplied by the factory if one does not.</div>
</td>
</tr>
<tr class="altColor" id="i160">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#values()">values</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i161">
<td class="colFirst"><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withKeyValue(double,V)">withKeyValue</a></span>&#8203;(double&nbsp;key,
<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Associates a value with the specified key.</div>
</td>
</tr>
<tr class="altColor" id="i162">
<td class="colFirst"><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withoutAllKeys(org.eclipse.collections.api.DoubleIterable)">withoutAllKeys</a></span>&#8203;(<a href="../../../../api/DoubleIterable.html" title="interface in org.eclipse.collections.api">DoubleIterable</a>&nbsp;keys)</code></th>
<td class="colLast">
<div class="block">Removes the mappings associated with all the keys, if they exist, from this map.</div>
</td>
</tr>
<tr class="rowColor" id="i163">
<td class="colFirst"><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withoutKey(double)">withoutKey</a></span>&#8203;(double&nbsp;key)</code></th>
<td class="colLast">
<div class="block">Removes the mapping associated with the key, if one exists, from this map.</div>
</td>
</tr>
<tr class="altColor" id="i164">
<td class="colFirst"><code>&lt;S&gt;&nbsp;<a href="../../../../api/bag/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</a>&lt;<a href="../../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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 7.0.</div>
</div>
</td>
</tr>
<tr class="rowColor" id="i165">
<td class="colFirst"><code>&lt;S,&#8203;
R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="../../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;
S&gt;&gt;&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#zip(java.lang.Iterable,R)">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,
R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../../../../api/RichIterable.html#zip(java.lang.Iterable)"><code>RichIterable.zip(Iterable)</code></a> but uses <code>target</code> for output.</div>
</td>
</tr>
<tr class="altColor" id="i166">
<td class="colFirst"><code><a href="../../../../api/set/MutableSet.html" title="interface in org.eclipse.collections.api.set">MutableSet</a>&lt;<a href="../../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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 7.0.</div>
</div>
</td>
</tr>
<tr class="rowColor" id="i167">
<td class="colFirst"><code>&lt;R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="../../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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;&gt;<br>R</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#zipWithIndex(R)">zipWithIndex</a></span>&#8203;(R&nbsp;target)</code></th>
<td class="colLast">
<div class="block">Same as <a href="../../../../api/RichIterable.html#zipWithIndex()"><code>RichIterable.zipWithIndex()</code></a> but uses <code>target</code> for output.</div>
</td>
</tr>
</tbody>
</table>
</div>
</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#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#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.<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></code></div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;org.eclipse.collections.api.map.primitive.<a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.map.primitive.MutableDoubleObjectMap">
<!--   -->
</a><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#withAllKeyValues(java.lang.Iterable)">withAllKeyValues</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;org.eclipse.collections.api.map.primitive.<a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.map.primitive.MutablePrimitiveObjectMap">
<!--   -->
</a><code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.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.map.primitive.<a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.map.primitive.PrimitiveObjectMap">
<!--   -->
</a><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#parallelStream()">parallelStream</a>, <a href="../../../../api/map/primitive/PrimitiveObjectMap.html#spliterator()">spliterator</a>, <a href="../../../../api/map/primitive/PrimitiveObjectMap.html#stream()">stream</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#containsBy(org.eclipse.collections.api.block.function.Function,V)">containsBy</a>, <a href="../../../../api/RichIterable.html#countBy(org.eclipse.collections.api.block.function.Function)">countBy</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)">countByEach</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)">countByWith</a>, <a href="../../../../api/RichIterable.html#countByWith(org.eclipse.collections.api.block.function.Function2,P,R)">countByWith</a>, <a href="../../../../api/RichIterable.html#flatCollectWith(org.eclipse.collections.api.block.function.Function2,P,R)">flatCollectWith</a>, <a href="../../../../api/RichIterable.html#getAny()">getAny</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#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#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#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#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></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;(org.eclipse.collections.api.map.primitive.MutableDoubleObjectMap)">SynchronizedDoubleObjectMap</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">SynchronizedDoubleObjectMap</span>&#8203;(<span class="arguments"><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;map)</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(org.eclipse.collections.api.map.primitive.MutableDoubleObjectMap,java.lang.Object)">SynchronizedDoubleObjectMap</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">SynchronizedDoubleObjectMap</span>&#8203;(<span class="arguments"><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;map,
<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;newLock)</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="put(double,java.lang.Object)">
<!--   -->
</a><a id="put(double,V)">put</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">put</span>&#8203;(<span class="arguments">double&nbsp;key,
<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&nbsp;value)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#put(double,V)">MutableDoubleObjectMap</a></code></span></div>
<div class="block">Associates a value with the specified key. If a value is already associated
 with the key in this map, it will be replaced with <code>value</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#put(double,V)">put</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key</dd>
<dd><code>value</code> - the value to associate with <code>value</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value previously associated with <code>key</code> if one existed, or
 <code>null</code> if not</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="putPair(org.eclipse.collections.api.tuple.primitive.DoubleObjectPair)">putPair</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">putPair</span>&#8203;(<span class="arguments"><a href="../../../../api/tuple/primitive/DoubleObjectPair.html" title="interface in org.eclipse.collections.api.tuple.primitive">DoubleObjectPair</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;keyValuePair)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#putPair(org.eclipse.collections.api.tuple.primitive.DoubleObjectPair)">MutableDoubleObjectMap</a></code></span></div>
<div class="block">This method allows MutableDoubleObjectMap the ability to add an element in the form of <code>DoubleObjectPair&lt;V&gt;</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#putPair(org.eclipse.collections.api.tuple.primitive.DoubleObjectPair)">putPair</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#put(double,V)"><code>MutableDoubleObjectMap.put(double, Object)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="putAll(org.eclipse.collections.api.map.primitive.DoubleObjectMap)">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="../../../../api/map/primitive/DoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">DoubleObjectMap</a>&lt;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;map)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#putAll(org.eclipse.collections.api.map.primitive.DoubleObjectMap)">MutableDoubleObjectMap</a></code></span></div>
<div class="block">Puts all of the key/value mappings from the specified map into this map. If this
 map already has a value associated with one of the keys in the map, it will be
 replaced with the value in <code>map</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#putAll(org.eclipse.collections.api.map.primitive.DoubleObjectMap)">putAll</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>map</code> - the map to copy into this map</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="removeKey(double)">removeKey</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">removeKey</span>&#8203;(<span class="arguments">double&nbsp;key)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#removeKey(double)">MutableDoubleObjectMap</a></code></span></div>
<div class="block">Removes the mapping associated with the key, if one exists, from the map.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#removeKey(double)">removeKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key to remove</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#remove(double)"><code>MutableDoubleObjectMap.remove(double)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="remove(double)">remove</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">remove</span>&#8203;(<span class="arguments">double&nbsp;key)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#remove(double)">MutableDoubleObjectMap</a></code></span></div>
<div class="block">Removes the mapping associated with the key, if one exists, from the map.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#remove(double)">remove</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key to remove</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#removeKey(double)"><code>MutableDoubleObjectMap.removeKey(double)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getIfAbsentPut(double,java.lang.Object)">
<!--   -->
</a><a id="getIfAbsentPut(double,V)">getIfAbsentPut</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">getIfAbsentPut</span>&#8203;(<span class="arguments">double&nbsp;key,
<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&nbsp;value)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#getIfAbsentPut(double,V)">MutableDoubleObjectMap</a></code></span></div>
<div class="block">Retrieves the value associated with the key if one exists; if it does not,
 associates a value with the key.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#getIfAbsentPut(double,V)">getIfAbsentPut</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key</dd>
<dd><code>value</code> - the value to associate with <code>key</code> if no such mapping exists</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value associated with key, if one exists, or <code>value</code> if not</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getIfAbsentPut(double,org.eclipse.collections.api.block.function.Function0)">getIfAbsentPut</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">getIfAbsentPut</span>&#8203;(<span class="arguments">double&nbsp;key,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#getIfAbsentPut(double,org.eclipse.collections.api.block.function.Function0)">MutableDoubleObjectMap</a></code></span></div>
<div class="block">Retrieves the value associated with the key if one exists; if it does not,
 invokes the supplier and associates the result with the key.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#getIfAbsentPut(double,org.eclipse.collections.api.block.function.Function0)">getIfAbsentPut</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key</dd>
<dd><code>function</code> - the supplier that provides the value if no mapping exists for <code>key</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value associated with the key, if one exists, or the result of
 invoking <code>function</code> if not</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getIfAbsentPutWithKey(double,org.eclipse.collections.api.block.function.primitive.DoubleToObjectFunction)">getIfAbsentPutWithKey</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">getIfAbsentPutWithKey</span>&#8203;(<span class="arguments">double&nbsp;key,
<a href="../../../../api/block/function/primitive/DoubleToObjectFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">DoubleToObjectFunction</a>&lt;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#getIfAbsentPutWithKey(double,org.eclipse.collections.api.block.function.primitive.DoubleToObjectFunction)">MutableDoubleObjectMap</a></code></span></div>
<div class="block">Retrieves the value associated with the key if one exists; if it does not,
 associates the result of invoking the value function with the key.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#getIfAbsentPutWithKey(double,org.eclipse.collections.api.block.function.primitive.DoubleToObjectFunction)">getIfAbsentPutWithKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key</dd>
<dd><code>function</code> - the function that provides the value if no mapping exists.
 The <code>key</code> will be passed as the argument to the function.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value associated with the key, if one exists, or the result of
 invoking <code>function</code> with <code>key</code> if not</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getIfAbsentPutWith(double,org.eclipse.collections.api.block.function.Function,java.lang.Object)">
<!--   -->
</a><a id="getIfAbsentPutWith(double,org.eclipse.collections.api.block.function.Function,P)">getIfAbsentPutWith</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;P&gt;</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">getIfAbsentPutWith</span>&#8203;(<span class="arguments">double&nbsp;key,
<a href="../../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super P,&#8203;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function,
P&nbsp;parameter)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#getIfAbsentPutWith(double,org.eclipse.collections.api.block.function.Function,P)">MutableDoubleObjectMap</a></code></span></div>
<div class="block">Retrieves the value associated with the key if one exists; if it does not,
 invokes the value function with the parameter and associates the result with the key.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#getIfAbsentPutWith(double,org.eclipse.collections.api.block.function.Function,P)">getIfAbsentPutWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>P</code> - the type of the value function's <code>parameter</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key</dd>
<dd><code>function</code> - the function that provides the value if no mapping exists.
 The specified <code>parameter</code> will be passed as the argument to the function.</dd>
<dd><code>parameter</code> - the parameter to provide to <code>function</code> if no value
 exists for <code>key</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value associated with the key, if one exists, or the result of
 invoking <code>function</code> with <code>parameter</code> if not</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="updateValue(double,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function)">updateValue</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">updateValue</span>&#8203;(<span class="arguments">double&nbsp;key,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;factory,
<a href="../../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#updateValue(double,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function)">MutableDoubleObjectMap</a></code></span></div>
<div class="block">Look up the value associated with <code>key</code>, apply the <code>function</code> to it, and replace the value. If there
 is no value associated with <code>key</code>, start it off with a value supplied by <code>factory</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#updateValue(double,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function)">updateValue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="updateValueWith(double,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function2,java.lang.Object)">
<!--   -->
</a><a id="updateValueWith(double,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function2,P)">updateValueWith</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;P&gt;</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">updateValueWith</span>&#8203;(<span class="arguments">double&nbsp;key,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;factory,
<a href="../../../../api/block/function/Function2.html" title="interface in org.eclipse.collections.api.block.function">Function2</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? super P,&#8203;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function,
P&nbsp;parameter)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#updateValueWith(double,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function2,P)">MutableDoubleObjectMap</a></code></span></div>
<div class="block">Updates or sets the value associated with the key by applying the function to the
 existing value, if one exists, or the initial value supplied by the factory if one does not.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#updateValueWith(double,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function2,P)">updateValueWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>P</code> - the type of the value function's <code>parameter</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key</dd>
<dd><code>factory</code> - the supplier providing the initial value to the function if no
 mapping exists for the key</dd>
<dd><code>function</code> - the function that returns the updated value based on the current
 value or the initial value, if no value exists. The specified <code>parameter</code>
 will also be passed as the second argument to the function.</dd>
<dd><code>parameter</code> - the parameter to provide to <code>function</code> if no value
 exists for <code>key</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the new value associated with the key, either as a result of applying
 <code>function</code> to the value already associated with the key or as a result of
 applying it to the value returned by <code>factory</code> and associating the result
 with <code>key</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="get(double)">get</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">get</span>&#8203;(<span class="arguments">double&nbsp;key)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html#get(double)">DoubleObjectMap</a></code></span></div>
<div class="block">Retrieves the value associated with the key. If no mapping exists for the key,
 <code>null</code> is returned.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/DoubleObjectMap.html#get(double)">get</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">DoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value associated with the key, or the default value if no such
 mapping exists</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getIfAbsent(double,org.eclipse.collections.api.block.function.Function0)">getIfAbsent</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">getIfAbsent</span>&#8203;(<span class="arguments">double&nbsp;key,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;ifAbsent)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html#getIfAbsent(double,org.eclipse.collections.api.block.function.Function0)">DoubleObjectMap</a></code></span></div>
<div class="block">Retrieves the value associated with the key if one exists; if it does not,
 returns the result of invoking the value supplier.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/DoubleObjectMap.html#getIfAbsent(double,org.eclipse.collections.api.block.function.Function0)">getIfAbsent</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">DoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value associated with the key, if one exists, or the result of
 invoking <code>ifAbsent</code> if not</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="containsKey(double)">containsKey</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">containsKey</span>&#8203;(<span class="arguments">double&nbsp;key)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html#containsKey(double)">DoubleObjectMap</a></code></span></div>
<div class="block">Returns whether or not the key is present in the map.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/DoubleObjectMap.html#containsKey(double)">containsKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">DoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>if a mapping exists in this map for the key</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="containsValue(java.lang.Object)">containsValue</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">containsValue</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;value)</span></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#containsValue(java.lang.Object)">containsValue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="tap(org.eclipse.collections.api.block.procedure.Procedure)">tap</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;procedure)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#tap(org.eclipse.collections.api.block.procedure.Procedure)">RichIterable</a></code></span></div>
<div class="block">Executes the Procedure for each element in the iterable and returns <code>this</code>.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 RichIterable&lt;Person&gt; tapped =
     people.<b>tap</b>(person -&gt; LOGGER.info(person.getName()));
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 RichIterable&lt;Person&gt; tapped =
     people.<b>tap</b>(new Procedure&lt;Person&gt;()
     {
         public void value(Person person)
         {
             LOGGER.info(person.getName());
         }
     });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/DoubleObjectMap.html#tap(org.eclipse.collections.api.block.procedure.Procedure)">tap</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">DoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#tap(org.eclipse.collections.api.block.procedure.Procedure)">tap</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/RichIterable.html#each(org.eclipse.collections.api.block.procedure.Procedure)"><code>RichIterable.each(Procedure)</code></a>, 
<a href="../../../../api/RichIterable.html#forEach(org.eclipse.collections.api.block.procedure.Procedure)"><code>RichIterable.forEach(Procedure)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="forEachValue(org.eclipse.collections.api.block.procedure.Procedure)">forEachValue</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">forEachValue</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;procedure)</span></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#forEachValue(org.eclipse.collections.api.block.procedure.Procedure)">forEachValue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="forEachKey(org.eclipse.collections.api.block.procedure.primitive.DoubleProcedure)">forEachKey</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">forEachKey</span>&#8203;(<span class="arguments"><a href="../../../../api/block/procedure/primitive/DoubleProcedure.html" title="interface in org.eclipse.collections.api.block.procedure.primitive">DoubleProcedure</a>&nbsp;procedure)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html#forEachKey(org.eclipse.collections.api.block.procedure.primitive.DoubleProcedure)">DoubleObjectMap</a></code></span></div>
<div class="block">Iterates through each key in the map, invoking the procedure for each.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/DoubleObjectMap.html#forEachKey(org.eclipse.collections.api.block.procedure.primitive.DoubleProcedure)">forEachKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">DoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>procedure</code> - the procedure to invoke for each key</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="forEachKeyValue(org.eclipse.collections.api.block.procedure.primitive.DoubleObjectProcedure)">forEachKeyValue</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">forEachKeyValue</span>&#8203;(<span class="arguments"><a href="../../../../api/block/procedure/primitive/DoubleObjectProcedure.html" title="interface in org.eclipse.collections.api.block.procedure.primitive">DoubleObjectProcedure</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;procedure)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html#forEachKeyValue(org.eclipse.collections.api.block.procedure.primitive.DoubleObjectProcedure)">DoubleObjectMap</a></code></span></div>
<div class="block">Iterates through each key/value pair in the map, invoking the procedure for each.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/DoubleObjectMap.html#forEachKeyValue(org.eclipse.collections.api.block.procedure.primitive.DoubleObjectProcedure)">forEachKeyValue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">DoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>procedure</code> - the procedure to invoke for each key/value pair</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="select(org.eclipse.collections.api.block.predicate.primitive.DoubleObjectPredicate)">select</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">select</span>&#8203;(<span class="arguments"><a href="../../../../api/block/predicate/primitive/DoubleObjectPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">DoubleObjectPredicate</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html#select(org.eclipse.collections.api.block.predicate.primitive.DoubleObjectPredicate)">DoubleObjectMap</a></code></span></div>
<div class="block">Return a copy of this map containing only the key/value pairs that match the predicate.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/DoubleObjectMap.html#select(org.eclipse.collections.api.block.predicate.primitive.DoubleObjectPredicate)">select</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">DoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#select(org.eclipse.collections.api.block.predicate.primitive.DoubleObjectPredicate)">select</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>predicate</code> - the predicate to determine which key/value pairs in this map should be
 included in the returned map</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a copy of this map with the matching key/value pairs</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="reject(org.eclipse.collections.api.block.predicate.primitive.DoubleObjectPredicate)">reject</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">reject</span>&#8203;(<span class="arguments"><a href="../../../../api/block/predicate/primitive/DoubleObjectPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">DoubleObjectPredicate</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html#reject(org.eclipse.collections.api.block.predicate.primitive.DoubleObjectPredicate)">DoubleObjectMap</a></code></span></div>
<div class="block">Return a copy of this map containing only the key/value pairs that do not match the
 predicate.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/DoubleObjectMap.html#reject(org.eclipse.collections.api.block.predicate.primitive.DoubleObjectPredicate)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">DoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#reject(org.eclipse.collections.api.block.predicate.primitive.DoubleObjectPredicate)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>predicate</code> - the predicate to determine which key/value pairs in this map should be
 excluded from the returned map</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a copy of this map without the matching key/value pairs</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="size()">size</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">int</span>&nbsp;<span class="memberName">size</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#size()">RichIterable</a></code></span></div>
<div class="block">Returns the number of items in this iterable.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#size()">size</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="isEmpty()">isEmpty</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">isEmpty</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#isEmpty()">RichIterable</a></code></span></div>
<div class="block">Returns true if this iterable has zero items.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#isEmpty()">isEmpty</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="notEmpty()">notEmpty</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">notEmpty</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#notEmpty()">RichIterable</a></code></span></div>
<div class="block">The English equivalent of !this.isEmpty()</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#notEmpty()">notEmpty</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getFirst()">getFirst</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">getFirst</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#getFirst()">RichIterable</a></code></span></div>
<div class="block">Returns the first element of an iterable. In the case of a List it is the element at the first index. In the
 case of any other Collection, it is the first element that would be returned during an iteration. If the
 iterable is empty, null is returned. If null is a valid element of the container, then a developer would need to
 check to see if the iterable is empty to validate that a null result was not due to the container being empty.
 <p>
 The order of Sets are not guaranteed (except for TreeSets and other Ordered Set implementations), so if you use
 this method, the first element could be any element from the Set.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#getFirst()">getFirst</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getLast()">getLast</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">getLast</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#getLast()">RichIterable</a></code></span></div>
<div class="block">Returns the last element of an iterable. In the case of a List it is the element at the last index. In the case
 of any other Collection, it is the last element that would be returned during an iteration. If the iterable is
 empty, null is returned. If null is a valid element of the container, then a developer would need to check to
 see if the iterable is empty to validate that a null result was not due to the container being empty.
 <p>
 The order of Sets are not guaranteed (except for TreeSets and other Ordered Set implementations), so if you use
 this method, the last element could be any element from the Set.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#getLast()">getLast</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getOnly()">getOnly</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">getOnly</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#getOnly()">RichIterable</a></code></span></div>
<div class="block">Returns the element if the iterable has exactly one element. Otherwise, throw <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>IllegalStateException</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#getOnly()">getOnly</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an element of an iterable.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="contains(java.lang.Object)">contains</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">contains</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;object)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#contains(java.lang.Object)">RichIterable</a></code></span></div>
<div class="block">Returns true if the iterable has an element which responds true to element.equals(object).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#contains(java.lang.Object)">contains</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="containsAllIterable(java.lang.Iterable)">containsAllIterable</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">containsAllIterable</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;?&gt;&nbsp;source)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#containsAllIterable(java.lang.Iterable)">RichIterable</a></code></span></div>
<div class="block">Returns true if all elements in source are contained in this collection.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#containsAllIterable(java.lang.Iterable)">containsAllIterable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="containsAll(java.util.Collection)">containsAll</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">containsAll</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;?&gt;&nbsp;source)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#containsAll(java.util.Collection)">RichIterable</a></code></span></div>
<div class="block">Returns true if all elements in source are contained in this collection.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#containsAll(java.util.Collection)">containsAll</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#containsAll(java.util.Collection)" title="class or interface in java.util" class="externalLink"><code>Collection.containsAll(Collection)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="containsAllArguments(java.lang.Object...)">containsAllArguments</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">containsAllArguments</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;elements)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#containsAllArguments(java.lang.Object...)">RichIterable</a></code></span></div>
<div class="block">Returns true if all elements in the specified var arg array are contained in this collection.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#containsAllArguments(java.lang.Object...)">containsAllArguments</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</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/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/primitive/MutablePrimitiveObjectMap.html#select(org.eclipse.collections.api.block.predicate.Predicate)">select</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#select(org.eclipse.collections.api.block.predicate.Predicate)">select</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="select(org.eclipse.collections.api.block.predicate.Predicate,java.util.Collection)">
<!--   -->
</a><a id="select(org.eclipse.collections.api.block.predicate.Predicate,R)">select</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&gt;</span>&nbsp;<span class="returnType">R</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate,
R&nbsp;target)</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,R)">RichIterable</a></code></span></div>
<div class="block">Same as the select method with one parameter but uses the specified target collection for the results.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 MutableList&lt;Person&gt; selected =
     people.select(person -&gt; person.person.getLastName().equals("Smith"), Lists.mutable.empty());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 MutableList&lt;Person&gt; selected =
     people.select(new Predicate&lt;Person&gt;()
     {
         public boolean accept(Person person)
         {
             return person.person.getLastName().equals("Smith");
         }
     }, Lists.mutable.empty());
 </pre>
 <p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#select(org.eclipse.collections.api.block.predicate.Predicate,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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 select criteria</dd>
<dd><code>target</code> - the Collection to append to for all elements in this <code>RichIterable</code> that meet select criteria <code>predicate</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>target</code>, which contains appended elements as a result of the select criteria</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="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/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/primitive/MutablePrimitiveObjectMap.html#selectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">selectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#selectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">selectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="selectWith(org.eclipse.collections.api.block.predicate.Predicate2,java.lang.Object,java.util.Collection)">
<!--   -->
</a><a id="selectWith(org.eclipse.collections.api.block.predicate.Predicate2,P,R)">selectWith</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;P,&#8203;
R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&gt;</span>&nbsp;<span class="returnType">R</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? super P&gt;&nbsp;predicate,
P&nbsp;parameter,
R&nbsp;targetCollection)</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,R)">RichIterable</a></code></span></div>
<div class="block">Similar to <a href="../../../../api/RichIterable.html#select(org.eclipse.collections.api.block.predicate.Predicate,R)"><code>RichIterable.select(Predicate, Collection)</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>
 MutableList&lt;Person&gt; selected =
     people.selectWith((Person person, Integer age) -&gt; person.getAge()&gt;= age, Integer.valueOf(18), Lists.mutable.empty());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 MutableList&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), Lists.mutable.empty());
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#selectWith(org.eclipse.collections.api.block.predicate.Predicate2,P,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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>
<dd><code>targetCollection</code> - the Collection to append to for all elements in this <code>RichIterable</code> that meet select criteria <code>predicate</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>targetCollection</code>, which contains appended elements as a result of the select criteria</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>, 
<a href="../../../../api/RichIterable.html#select(org.eclipse.collections.api.block.predicate.Predicate,R)"><code>RichIterable.select(Predicate, Collection)</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/PartitionMutableBag.html" title="interface in org.eclipse.collections.api.partition.bag">PartitionMutableBag</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/primitive/MutablePrimitiveObjectMap.html#partition(org.eclipse.collections.api.block.predicate.Predicate)">partition</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#partition(org.eclipse.collections.api.block.predicate.Predicate)">partition</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/PartitionMutableBag.html" title="interface in org.eclipse.collections.api.partition.bag">PartitionMutableBag</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/primitive/MutablePrimitiveObjectMap.html#partitionWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">partitionWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#partitionWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">partitionWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</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/primitive/MutablePrimitiveObjectMap.html#selectInstancesOf(java.lang.Class)">selectInstancesOf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#selectInstancesOf(java.lang.Class)">selectInstancesOf</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></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/MutableSet.html" title="interface in org.eclipse.collections.api.set">MutableSet</a>&lt;<a href="../../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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 7.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/primitive/MutablePrimitiveObjectMap.html#zipWithIndex()">zipWithIndex</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#zipWithIndex()">zipWithIndex</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="zipWithIndex(java.util.Collection)">
<!--   -->
</a><a id="zipWithIndex(R)">zipWithIndex</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="../../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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;&gt;</span>&nbsp;<span class="returnType">R</span>&nbsp;<span class="memberName">zipWithIndex</span>&#8203;(<span class="arguments">R&nbsp;target)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#zipWithIndex(R)">RichIterable</a></code></span></div>
<div class="block">Same as <a href="../../../../api/RichIterable.html#zipWithIndex()"><code>RichIterable.zipWithIndex()</code></a> but uses <code>target</code> for output.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#zipWithIndex(R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="chunk(int)">chunk</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&gt;</span>&nbsp;<span class="memberName">chunk</span>&#8203;(<span class="arguments">int&nbsp;size)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#chunk(int)">RichIterable</a></code></span></div>
<div class="block">Partitions elements in fixed size chunks.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#chunk(int)">chunk</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>size</code> - the number of elements per chunk</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A <code>RichIterable</code> containing <code>RichIterable</code>s of size <code>size</code>, except the last will be
 truncated if the elements don't divide evenly.</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;K,&#8203;
VV&gt;</span>&nbsp;<span class="returnType"><a href="../../../../api/map/MutableMap.html" title="interface in org.eclipse.collections.api.map">MutableMap</a>&lt;K,&#8203;VV&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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends K&gt;&nbsp;groupBy,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends VV&gt;&nbsp;zeroValueFactory,
<a href="../../../../api/block/procedure/Procedure2.html" title="interface in org.eclipse.collections.api.block.procedure">Procedure2</a>&lt;? super VV,&#8203;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/primitive/MutablePrimitiveObjectMap.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/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></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.Function0,org.eclipse.collections.api.block.function.Function2)">aggregateBy</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;K,&#8203;
VV&gt;</span>&nbsp;<span class="returnType"><a href="../../../../api/map/MutableMap.html" title="interface in org.eclipse.collections.api.map">MutableMap</a>&lt;K,&#8203;VV&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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends K&gt;&nbsp;groupBy,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends VV&gt;&nbsp;zeroValueFactory,
<a href="../../../../api/block/function/Function2.html" title="interface in org.eclipse.collections.api.block.function">Function2</a>&lt;? super VV,&#8203;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends VV&gt;&nbsp;nonMutatingAggregator)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<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)">RichIterable</a></code></span></div>
<div class="block">Applies an aggregate function over the iterable grouping results into a map based on the specific groupBy function.
 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 (i.e. Integer.valueOf(0)).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.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></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><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)">aggregateBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></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/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/primitive/MutablePrimitiveObjectMap.html#reject(org.eclipse.collections.api.block.predicate.Predicate)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#reject(org.eclipse.collections.api.block.predicate.Predicate)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="reject(org.eclipse.collections.api.block.predicate.Predicate,java.util.Collection)">
<!--   -->
</a><a id="reject(org.eclipse.collections.api.block.predicate.Predicate,R)">reject</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&gt;</span>&nbsp;<span class="returnType">R</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate,
R&nbsp;target)</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,R)">RichIterable</a></code></span></div>
<div class="block">Same as the reject method with one parameter but uses the specified target collection for the results.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 MutableList&lt;Person&gt; rejected =
     people.reject(person -&gt; person.person.getLastName().equals("Smith"), Lists.mutable.empty());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 MutableList&lt;Person&gt; rejected =
     people.reject(new Predicate&lt;Person&gt;()
     {
         public boolean accept(Person person)
         {
             return person.person.getLastName().equals("Smith");
         }
     }, Lists.mutable.empty());
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#reject(org.eclipse.collections.api.block.predicate.Predicate,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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>
<dd><code>target</code> - the Collection to append to for all elements in this <code>RichIterable</code> that cause <code>Predicate#accept(Object)</code> method to evaluate to false</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>target</code>, which contains appended elements as a result of the reject criteria</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/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/primitive/MutablePrimitiveObjectMap.html#rejectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">rejectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#rejectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">rejectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="rejectWith(org.eclipse.collections.api.block.predicate.Predicate2,java.lang.Object,java.util.Collection)">
<!--   -->
</a><a id="rejectWith(org.eclipse.collections.api.block.predicate.Predicate2,P,R)">rejectWith</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;P,&#8203;
R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&gt;</span>&nbsp;<span class="returnType">R</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? super P&gt;&nbsp;predicate,
P&nbsp;parameter,
R&nbsp;targetCollection)</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,R)">RichIterable</a></code></span></div>
<div class="block">Similar to <a href="../../../../api/RichIterable.html#reject(org.eclipse.collections.api.block.predicate.Predicate,R)"><code>RichIterable.reject(Predicate, Collection)</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>
 MutableList&lt;Person&gt; rejected =
     people.rejectWith((Person person, Integer age) -&gt; person.getAge() &lt; age, Integer.valueOf(18), Lists.mutable.empty());
 </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), Lists.mutable.empty());
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#rejectWith(org.eclipse.collections.api.block.predicate.Predicate2,P,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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 reject 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>
<dd><code>targetCollection</code> - the Collection to append to for all elements in this <code>RichIterable</code> that cause <code>Predicate#accept(Object)</code> method to evaluate to false</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>targetCollection</code>, which contains appended elements as a result of the reject criteria</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/RichIterable.html#reject(org.eclipse.collections.api.block.predicate.Predicate)"><code>RichIterable.reject(Predicate)</code></a>, 
<a href="../../../../api/RichIterable.html#reject(org.eclipse.collections.api.block.predicate.Predicate,R)"><code>RichIterable.reject(Predicate, Collection)</code></a></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="../../../../api/map/primitive/MutablePrimitiveObjectMap.html#clear()">clear</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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;VV&gt;</span>&nbsp;<span class="returnType"><a href="../../../../api/bag/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</a>&lt;VV&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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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#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/primitive/MutablePrimitiveObjectMap.html#collect(org.eclipse.collections.api.block.function.Function)">collect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#collect(org.eclipse.collections.api.block.function.Function)">collect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="collectBoolean(org.eclipse.collections.api.block.function.primitive.BooleanFunction)">collectBoolean</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/bag/primitive/MutableBooleanBag.html" title="interface in org.eclipse.collections.api.bag.primitive">MutableBooleanBag</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/primitive/MutablePrimitiveObjectMap.html#collectBoolean(org.eclipse.collections.api.block.function.primitive.BooleanFunction)">collectBoolean</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#collectBoolean(org.eclipse.collections.api.block.function.primitive.BooleanFunction)">collectBoolean</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="collectBoolean(org.eclipse.collections.api.block.function.primitive.BooleanFunction,org.eclipse.collections.api.collection.primitive.MutableBooleanCollection)">
<!--   -->
</a><a id="collectBoolean(org.eclipse.collections.api.block.function.primitive.BooleanFunction,R)">collectBoolean</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="../../../../api/collection/primitive/MutableBooleanCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableBooleanCollection</a>&gt;</span>&nbsp;<span class="returnType">R</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;booleanFunction,
R&nbsp;target)</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,R)">RichIterable</a></code></span></div>
<div class="block">Same as <a href="../../../../api/RichIterable.html#collectBoolean(org.eclipse.collections.api.block.function.primitive.BooleanFunction)"><code>RichIterable.collectBoolean(BooleanFunction)</code></a>, except that the results are gathered into the specified <code>target</code>
 collection.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 BooleanArrayList licenses =
     people.collectBoolean(person -&gt; person.hasDrivingLicense(), new BooleanArrayList());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 BooleanArrayList licenses =
     people.collectBoolean(new BooleanFunction&lt;Person&gt;()
     {
         public boolean booleanValueOf(Person person)
         {
             return person.hasDrivingLicense();
         }
     }, new BooleanArrayList());
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#collectBoolean(org.eclipse.collections.api.block.function.primitive.BooleanFunction,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>booleanFunction</code> - a <a href="../../../../api/block/function/primitive/BooleanFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive"><code>BooleanFunction</code></a> to use as the collect transformation function</dd>
<dd><code>target</code> - the MutableBooleanCollection to append to for all elements in this <code>RichIterable</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>target</code>, which contains appended elements as a result of the collect transformation</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/MutableByteBag.html" title="interface in org.eclipse.collections.api.bag.primitive">MutableByteBag</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/primitive/MutablePrimitiveObjectMap.html#collectByte(org.eclipse.collections.api.block.function.primitive.ByteFunction)">collectByte</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#collectByte(org.eclipse.collections.api.block.function.primitive.ByteFunction)">collectByte</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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,org.eclipse.collections.api.collection.primitive.MutableByteCollection)">
<!--   -->
</a><a id="collectByte(org.eclipse.collections.api.block.function.primitive.ByteFunction,R)">collectByte</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="../../../../api/collection/primitive/MutableByteCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableByteCollection</a>&gt;</span>&nbsp;<span class="returnType">R</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;byteFunction,
R&nbsp;target)</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,R)">RichIterable</a></code></span></div>
<div class="block">Same as <a href="../../../../api/RichIterable.html#collectByte(org.eclipse.collections.api.block.function.primitive.ByteFunction)"><code>RichIterable.collectByte(ByteFunction)</code></a>, except that the results are gathered into the specified <code>target</code>
 collection.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 ByteArrayList bytes =
     people.collectByte(person -&gt; person.getCode(), new ByteArrayList());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 ByteArrayList bytes =
     people.collectByte(new ByteFunction&lt;Person&gt;()
     {
         public byte byteValueOf(Person person)
         {
             return person.getCode();
         }
     }, new ByteArrayList());
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#collectByte(org.eclipse.collections.api.block.function.primitive.ByteFunction,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>byteFunction</code> - a <a href="../../../../api/block/function/primitive/ByteFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive"><code>ByteFunction</code></a> to use as the collect transformation function</dd>
<dd><code>target</code> - the MutableByteCollection to append to for all elements in this <code>RichIterable</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>target</code>, which contains appended elements as a result of the collect transformation</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/MutableCharBag.html" title="interface in org.eclipse.collections.api.bag.primitive">MutableCharBag</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/primitive/MutablePrimitiveObjectMap.html#collectChar(org.eclipse.collections.api.block.function.primitive.CharFunction)">collectChar</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#collectChar(org.eclipse.collections.api.block.function.primitive.CharFunction)">collectChar</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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,org.eclipse.collections.api.collection.primitive.MutableCharCollection)">
<!--   -->
</a><a id="collectChar(org.eclipse.collections.api.block.function.primitive.CharFunction,R)">collectChar</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="../../../../api/collection/primitive/MutableCharCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableCharCollection</a>&gt;</span>&nbsp;<span class="returnType">R</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;charFunction,
R&nbsp;target)</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,R)">RichIterable</a></code></span></div>
<div class="block">Same as <a href="../../../../api/RichIterable.html#collectChar(org.eclipse.collections.api.block.function.primitive.CharFunction)"><code>RichIterable.collectChar(CharFunction)</code></a>, except that the results are gathered into the specified <code>target</code>
 collection.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 CharArrayList chars =
     people.collectChar(person -&gt; person.getMiddleInitial(), new CharArrayList());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 CharArrayList chars =
     people.collectChar(new CharFunction&lt;Person&gt;()
     {
         public char charValueOf(Person person)
         {
             return person.getMiddleInitial();
         }
     }, new CharArrayList());
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#collectChar(org.eclipse.collections.api.block.function.primitive.CharFunction,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>charFunction</code> - a <a href="../../../../api/block/function/primitive/CharFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive"><code>CharFunction</code></a> to use as the collect transformation function</dd>
<dd><code>target</code> - the MutableCharCollection to append to for all elements in this <code>RichIterable</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>target</code>, which contains appended elements as a result of the collect transformation</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/MutableDoubleBag.html" title="interface in org.eclipse.collections.api.bag.primitive">MutableDoubleBag</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/primitive/MutablePrimitiveObjectMap.html#collectDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction)">collectDouble</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#collectDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction)">collectDouble</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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,org.eclipse.collections.api.collection.primitive.MutableDoubleCollection)">
<!--   -->
</a><a id="collectDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction,R)">collectDouble</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="../../../../api/collection/primitive/MutableDoubleCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableDoubleCollection</a>&gt;</span>&nbsp;<span class="returnType">R</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;doubleFunction,
R&nbsp;target)</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,R)">RichIterable</a></code></span></div>
<div class="block">Same as <a href="../../../../api/RichIterable.html#collectDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction)"><code>RichIterable.collectDouble(DoubleFunction)</code></a>, except that the results are gathered into the specified <code>target</code>
 collection.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 DoubleArrayList doubles =
     people.collectDouble(person -&gt; person.getMilesFromNorthPole(), new DoubleArrayList());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 DoubleArrayList doubles =
     people.collectDouble(new DoubleFunction&lt;Person&gt;()
     {
         public double doubleValueOf(Person person)
         {
             return person.getMilesFromNorthPole();
         }
     }, new DoubleArrayList());
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#collectDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>doubleFunction</code> - a <a href="../../../../api/block/function/primitive/DoubleFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive"><code>DoubleFunction</code></a> to use as the collect transformation function</dd>
<dd><code>target</code> - the MutableDoubleCollection to append to for all elements in this <code>RichIterable</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>target</code>, which contains appended elements as a result of the collect transformation</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/MutableFloatBag.html" title="interface in org.eclipse.collections.api.bag.primitive">MutableFloatBag</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/primitive/MutablePrimitiveObjectMap.html#collectFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction)">collectFloat</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#collectFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction)">collectFloat</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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,org.eclipse.collections.api.collection.primitive.MutableFloatCollection)">
<!--   -->
</a><a id="collectFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction,R)">collectFloat</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="../../../../api/collection/primitive/MutableFloatCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableFloatCollection</a>&gt;</span>&nbsp;<span class="returnType">R</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;floatFunction,
R&nbsp;target)</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,R)">RichIterable</a></code></span></div>
<div class="block">Same as <a href="../../../../api/RichIterable.html#collectFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction)"><code>RichIterable.collectFloat(FloatFunction)</code></a>, except that the results are gathered into the specified <code>target</code>
 collection.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 FloatArrayList floats =
     people.collectFloat(person -&gt; person.getHeightInInches(), new FloatArrayList());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 FloatArrayList floats =
     people.collectFloat(new FloatFunction&lt;Person&gt;()
     {
         public float floatValueOf(Person person)
         {
             return person.getHeightInInches();
         }
     }, new FloatArrayList());
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#collectFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>floatFunction</code> - a <a href="../../../../api/block/function/primitive/FloatFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive"><code>FloatFunction</code></a> to use as the collect transformation function</dd>
<dd><code>target</code> - the MutableFloatCollection to append to for all elements in this <code>RichIterable</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>target</code>, which contains appended elements as a result of the collect transformation</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/MutableIntBag.html" title="interface in org.eclipse.collections.api.bag.primitive">MutableIntBag</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/primitive/MutablePrimitiveObjectMap.html#collectInt(org.eclipse.collections.api.block.function.primitive.IntFunction)">collectInt</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#collectInt(org.eclipse.collections.api.block.function.primitive.IntFunction)">collectInt</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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,org.eclipse.collections.api.collection.primitive.MutableIntCollection)">
<!--   -->
</a><a id="collectInt(org.eclipse.collections.api.block.function.primitive.IntFunction,R)">collectInt</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="../../../../api/collection/primitive/MutableIntCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableIntCollection</a>&gt;</span>&nbsp;<span class="returnType">R</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;intFunction,
R&nbsp;target)</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,R)">RichIterable</a></code></span></div>
<div class="block">Same as <a href="../../../../api/RichIterable.html#collectInt(org.eclipse.collections.api.block.function.primitive.IntFunction)"><code>RichIterable.collectInt(IntFunction)</code></a>, except that the results are gathered into the specified <code>target</code>
 collection.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 IntArrayList ints =
     people.collectInt(person -&gt; person.getAge(), new IntArrayList());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 IntArrayList ints =
     people.collectInt(new IntFunction&lt;Person&gt;()
     {
         public int intValueOf(Person person)
         {
             return person.getAge();
         }
     }, new IntArrayList());
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#collectInt(org.eclipse.collections.api.block.function.primitive.IntFunction,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>intFunction</code> - a <a href="../../../../api/block/function/primitive/IntFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive"><code>IntFunction</code></a> to use as the collect transformation function</dd>
<dd><code>target</code> - the MutableIntCollection to append to for all elements in this <code>RichIterable</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>target</code>, which contains appended elements as a result of the collect transformation</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/MutableLongBag.html" title="interface in org.eclipse.collections.api.bag.primitive">MutableLongBag</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/primitive/MutablePrimitiveObjectMap.html#collectLong(org.eclipse.collections.api.block.function.primitive.LongFunction)">collectLong</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#collectLong(org.eclipse.collections.api.block.function.primitive.LongFunction)">collectLong</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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,org.eclipse.collections.api.collection.primitive.MutableLongCollection)">
<!--   -->
</a><a id="collectLong(org.eclipse.collections.api.block.function.primitive.LongFunction,R)">collectLong</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="../../../../api/collection/primitive/MutableLongCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableLongCollection</a>&gt;</span>&nbsp;<span class="returnType">R</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;longFunction,
R&nbsp;target)</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,R)">RichIterable</a></code></span></div>
<div class="block">Same as <a href="../../../../api/RichIterable.html#collectLong(org.eclipse.collections.api.block.function.primitive.LongFunction)"><code>RichIterable.collectLong(LongFunction)</code></a>, except that the results are gathered into the specified <code>target</code>
 collection.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 LongArrayList longs =
     people.collectLong(person -&gt; person.getGuid(), new LongArrayList());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 LongArrayList longs =
     people.collectLong(new LongFunction&lt;Person&gt;()
     {
         public long longValueOf(Person person)
         {
             return person.getGuid();
         }
     }, new LongArrayList());
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#collectLong(org.eclipse.collections.api.block.function.primitive.LongFunction,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>longFunction</code> - a <a href="../../../../api/block/function/primitive/LongFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive"><code>LongFunction</code></a> to use as the collect transformation function</dd>
<dd><code>target</code> - the MutableLongCollection to append to for all elements in this <code>RichIterable</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>target</code>, which contains appended elements as a result of the collect transformation</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/MutableShortBag.html" title="interface in org.eclipse.collections.api.bag.primitive">MutableShortBag</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/primitive/MutablePrimitiveObjectMap.html#collectShort(org.eclipse.collections.api.block.function.primitive.ShortFunction)">collectShort</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#collectShort(org.eclipse.collections.api.block.function.primitive.ShortFunction)">collectShort</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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,org.eclipse.collections.api.collection.primitive.MutableShortCollection)">
<!--   -->
</a><a id="collectShort(org.eclipse.collections.api.block.function.primitive.ShortFunction,R)">collectShort</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="../../../../api/collection/primitive/MutableShortCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableShortCollection</a>&gt;</span>&nbsp;<span class="returnType">R</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;shortFunction,
R&nbsp;target)</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,R)">RichIterable</a></code></span></div>
<div class="block">Same as <a href="../../../../api/RichIterable.html#collectShort(org.eclipse.collections.api.block.function.primitive.ShortFunction)"><code>RichIterable.collectShort(ShortFunction)</code></a>, except that the results are gathered into the specified <code>target</code>
 collection.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 ShortArrayList shorts =
     people.collectShort(person -&gt; person.getNumberOfJunkMailItemsReceivedPerMonth, new ShortArrayList());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 ShortArrayList shorts =
     people.collectShort(new ShortFunction&lt;Person&gt;()
     {
         public short shortValueOf(Person person)
         {
             return person.getNumberOfJunkMailItemsReceivedPerMonth;
         }
     }, new ShortArrayList());
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#collectShort(org.eclipse.collections.api.block.function.primitive.ShortFunction,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>shortFunction</code> - a <a href="../../../../api/block/function/primitive/ShortFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive"><code>ShortFunction</code></a> to use as the collect transformation function</dd>
<dd><code>target</code> - the MutableShortCollection to append to for all elements in this <code>RichIterable</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>target</code>, which contains appended elements as a result of the collect transformation</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/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/primitive/MutablePrimitiveObjectMap.html#collectWith(org.eclipse.collections.api.block.function.Function2,P)">collectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#collectWith(org.eclipse.collections.api.block.function.Function2,P)">collectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="collectWith(org.eclipse.collections.api.block.function.Function2,java.lang.Object,java.util.Collection)">
<!--   -->
</a><a id="collectWith(org.eclipse.collections.api.block.function.Function2,P,R)">collectWith</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;P,&#8203;
VV,&#8203;
R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;VV&gt;&gt;</span>&nbsp;<span class="returnType">R</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? super P,&#8203;? extends VV&gt;&nbsp;function,
P&nbsp;parameter,
R&nbsp;targetCollection)</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,R)">RichIterable</a></code></span></div>
<div class="block">Same as collectWith but with a targetCollection parameter to gather the results.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 MutableSet&lt;Integer&gt; integers =
     Lists.mutable.with(1, 2, 3).collectWith((each, parameter) -&gt; each + parameter, Integer.valueOf(1), Sets.mutable.empty());
 </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(final Integer each, final Integer parameter)
         {
             return each + parameter;
         }
     };
 MutableSet&lt;Integer&gt; integers =
     Lists.mutable.with(1, 2, 3).collectWith(addParameterFunction, Integer.valueOf(1), Sets.mutable.empty());
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#collectWith(org.eclipse.collections.api.block.function.Function2,P,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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>
<dd><code>targetCollection</code> - the Collection to append to for all elements in this <code>RichIterable</code> that meet select criteria <code>function</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>targetCollection</code>, which contains appended elements as a result of the collect transformation</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="collect(org.eclipse.collections.api.block.function.Function,java.util.Collection)">
<!--   -->
</a><a id="collect(org.eclipse.collections.api.block.function.Function,R)">collect</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;VV,&#8203;
R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;VV&gt;&gt;</span>&nbsp;<span class="returnType">R</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends VV&gt;&nbsp;function,
R&nbsp;target)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#collect(org.eclipse.collections.api.block.function.Function,R)">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>, except that the results are gathered into the specified <code>target</code>
 collection.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 MutableList&lt;String&gt; names =
     people.collect(person -&gt; person.getFirstName() + " " + person.getLastName(), Lists.mutable.empty());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 MutableList&lt;String&gt; names =
     people.collect(new Function&lt;Person, String&gt;()
     {
         public String valueOf(Person person)
         {
             return person.getFirstName() + " " + person.getLastName();
         }
     }, Lists.mutable.empty());
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#collect(org.eclipse.collections.api.block.function.Function,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>function</code> - a <a href="../../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function"><code>Function</code></a> to use as the collect transformation function</dd>
<dd><code>target</code> - the Collection to append to for all elements in this <code>RichIterable</code> that meet select criteria <code>function</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>target</code>, which contains appended elements as a result of the collect transformation</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/RichIterable.html#collect(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.collect(Function)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="collectIf(org.eclipse.collections.api.block.predicate.Predicate,org.eclipse.collections.api.block.function.Function)">collectIf</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;VV&gt;</span>&nbsp;<span class="returnType"><a href="../../../../api/bag/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</a>&lt;VV&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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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#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/primitive/MutablePrimitiveObjectMap.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/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.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/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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,java.util.Collection)">
<!--   -->
</a><a id="collectIf(org.eclipse.collections.api.block.predicate.Predicate,org.eclipse.collections.api.block.function.Function,R)">collectIf</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;VV,&#8203;
R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;VV&gt;&gt;</span>&nbsp;<span class="returnType">R</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends VV&gt;&nbsp;function,
R&nbsp;target)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#collectIf(org.eclipse.collections.api.block.predicate.Predicate,org.eclipse.collections.api.block.function.Function,R)">RichIterable</a></code></span></div>
<div class="block">Same as the collectIf method with two parameters but uses the specified target collection for the results.</div>
<dl>
<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,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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 select criteria</dd>
<dd><code>function</code> - a <a href="../../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function"><code>Function</code></a> to use as the collect transformation function</dd>
<dd><code>target</code> - the Collection to append to for all elements in this <code>RichIterable</code> that meet the collect criteria <code>predicate</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>targetCollection</code>, which contains appended elements as a result of the collect criteria and transformation</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/RichIterable.html#collectIf(org.eclipse.collections.api.block.predicate.Predicate,org.eclipse.collections.api.block.function.Function)"><code>RichIterable.collectIf(Predicate, Function)</code></a></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;VV&gt;</span>&nbsp;<span class="returnType"><a href="../../../../api/bag/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</a>&lt;VV&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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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#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/primitive/MutablePrimitiveObjectMap.html#flatCollect(org.eclipse.collections.api.block.function.Function)">flatCollect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#flatCollect(org.eclipse.collections.api.block.function.Function)">flatCollect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="flatCollect(org.eclipse.collections.api.block.function.Function,java.util.Collection)">
<!--   -->
</a><a id="flatCollect(org.eclipse.collections.api.block.function.Function,R)">flatCollect</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;VV,&#8203;
R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;VV&gt;&gt;</span>&nbsp;<span class="returnType">R</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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,
R&nbsp;target)</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,R)">RichIterable</a></code></span></div>
<div class="block">Same as flatCollect, only the results are collected into the target collection.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#flatCollect(org.eclipse.collections.api.block.function.Function,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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>
<dd><code>target</code> - The collection into which results should be added.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>target</code>, which will contain a flattened collection of results produced by applying the given <code>function</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/RichIterable.html#flatCollect(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.flatCollect(Function)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="flatCollectByte(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.collection.primitive.MutableByteCollection)">
<!--   -->
</a><a id="flatCollectByte(org.eclipse.collections.api.block.function.Function,R)">flatCollectByte</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="../../../../api/collection/primitive/MutableByteCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableByteCollection</a>&gt;</span>&nbsp;<span class="returnType">R</span>&nbsp;<span class="memberName">flatCollectByte</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends <a href="../../../../api/ByteIterable.html" title="interface in org.eclipse.collections.api">ByteIterable</a>&gt;&nbsp;function,
R&nbsp;target)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#flatCollectByte(org.eclipse.collections.api.block.function.Function,R)">RichIterable</a></code></span></div>
<div class="block">Same as flatCollect, only the results are collected into the target collection.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#flatCollectByte(org.eclipse.collections.api.block.function.Function,R)">flatCollectByte</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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>
<dd><code>target</code> - The collection into which results should be added.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>target</code>, which will contain a flattened collection of results produced by applying the given <code>function</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/RichIterable.html#flatCollect(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.flatCollect(Function)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="flatCollectChar(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.collection.primitive.MutableCharCollection)">
<!--   -->
</a><a id="flatCollectChar(org.eclipse.collections.api.block.function.Function,R)">flatCollectChar</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="../../../../api/collection/primitive/MutableCharCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableCharCollection</a>&gt;</span>&nbsp;<span class="returnType">R</span>&nbsp;<span class="memberName">flatCollectChar</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends <a href="../../../../api/CharIterable.html" title="interface in org.eclipse.collections.api">CharIterable</a>&gt;&nbsp;function,
R&nbsp;target)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#flatCollectChar(org.eclipse.collections.api.block.function.Function,R)">RichIterable</a></code></span></div>
<div class="block">Same as flatCollect, only the results are collected into the target collection.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#flatCollectChar(org.eclipse.collections.api.block.function.Function,R)">flatCollectChar</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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>
<dd><code>target</code> - The collection into which results should be added.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>target</code>, which will contain a flattened collection of results produced by applying the given <code>function</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/RichIterable.html#flatCollect(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.flatCollect(Function)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="flatCollectInt(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.collection.primitive.MutableIntCollection)">
<!--   -->
</a><a id="flatCollectInt(org.eclipse.collections.api.block.function.Function,R)">flatCollectInt</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="../../../../api/collection/primitive/MutableIntCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableIntCollection</a>&gt;</span>&nbsp;<span class="returnType">R</span>&nbsp;<span class="memberName">flatCollectInt</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends <a href="../../../../api/IntIterable.html" title="interface in org.eclipse.collections.api">IntIterable</a>&gt;&nbsp;function,
R&nbsp;target)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#flatCollectInt(org.eclipse.collections.api.block.function.Function,R)">RichIterable</a></code></span></div>
<div class="block">Same as flatCollect, only the results are collected into the target collection.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#flatCollectInt(org.eclipse.collections.api.block.function.Function,R)">flatCollectInt</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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>
<dd><code>target</code> - The collection into which results should be added.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>target</code>, which will contain a flattened collection of results produced by applying the given <code>function</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/RichIterable.html#flatCollect(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.flatCollect(Function)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="flatCollectShort(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.collection.primitive.MutableShortCollection)">
<!--   -->
</a><a id="flatCollectShort(org.eclipse.collections.api.block.function.Function,R)">flatCollectShort</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="../../../../api/collection/primitive/MutableShortCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableShortCollection</a>&gt;</span>&nbsp;<span class="returnType">R</span>&nbsp;<span class="memberName">flatCollectShort</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends <a href="../../../../api/ShortIterable.html" title="interface in org.eclipse.collections.api">ShortIterable</a>&gt;&nbsp;function,
R&nbsp;target)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#flatCollectShort(org.eclipse.collections.api.block.function.Function,R)">RichIterable</a></code></span></div>
<div class="block">Same as flatCollect, only the results are collected into the target collection.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#flatCollectShort(org.eclipse.collections.api.block.function.Function,R)">flatCollectShort</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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>
<dd><code>target</code> - The collection into which results should be added.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>target</code>, which will contain a flattened collection of results produced by applying the given <code>function</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/RichIterable.html#flatCollect(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.flatCollect(Function)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="flatCollectDouble(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.collection.primitive.MutableDoubleCollection)">
<!--   -->
</a><a id="flatCollectDouble(org.eclipse.collections.api.block.function.Function,R)">flatCollectDouble</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="../../../../api/collection/primitive/MutableDoubleCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableDoubleCollection</a>&gt;</span>&nbsp;<span class="returnType">R</span>&nbsp;<span class="memberName">flatCollectDouble</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends <a href="../../../../api/DoubleIterable.html" title="interface in org.eclipse.collections.api">DoubleIterable</a>&gt;&nbsp;function,
R&nbsp;target)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#flatCollectDouble(org.eclipse.collections.api.block.function.Function,R)">RichIterable</a></code></span></div>
<div class="block">Same as flatCollect, only the results are collected into the target collection.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#flatCollectDouble(org.eclipse.collections.api.block.function.Function,R)">flatCollectDouble</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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>
<dd><code>target</code> - The collection into which results should be added.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>target</code>, which will contain a flattened collection of results produced by applying the given <code>function</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/RichIterable.html#flatCollect(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.flatCollect(Function)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="flatCollectFloat(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.collection.primitive.MutableFloatCollection)">
<!--   -->
</a><a id="flatCollectFloat(org.eclipse.collections.api.block.function.Function,R)">flatCollectFloat</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="../../../../api/collection/primitive/MutableFloatCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableFloatCollection</a>&gt;</span>&nbsp;<span class="returnType">R</span>&nbsp;<span class="memberName">flatCollectFloat</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends <a href="../../../../api/FloatIterable.html" title="interface in org.eclipse.collections.api">FloatIterable</a>&gt;&nbsp;function,
R&nbsp;target)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#flatCollectFloat(org.eclipse.collections.api.block.function.Function,R)">RichIterable</a></code></span></div>
<div class="block">Same as flatCollect, only the results are collected into the target collection.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#flatCollectFloat(org.eclipse.collections.api.block.function.Function,R)">flatCollectFloat</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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>
<dd><code>target</code> - The collection into which results should be added.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>target</code>, which will contain a flattened collection of results produced by applying the given <code>function</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/RichIterable.html#flatCollect(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.flatCollect(Function)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="flatCollectLong(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.collection.primitive.MutableLongCollection)">
<!--   -->
</a><a id="flatCollectLong(org.eclipse.collections.api.block.function.Function,R)">flatCollectLong</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="../../../../api/collection/primitive/MutableLongCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableLongCollection</a>&gt;</span>&nbsp;<span class="returnType">R</span>&nbsp;<span class="memberName">flatCollectLong</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends <a href="../../../../api/LongIterable.html" title="interface in org.eclipse.collections.api">LongIterable</a>&gt;&nbsp;function,
R&nbsp;target)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#flatCollectLong(org.eclipse.collections.api.block.function.Function,R)">RichIterable</a></code></span></div>
<div class="block">Same as flatCollect, only the results are collected into the target collection.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#flatCollectLong(org.eclipse.collections.api.block.function.Function,R)">flatCollectLong</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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>
<dd><code>target</code> - The collection into which results should be added.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>target</code>, which will contain a flattened collection of results produced by applying the given <code>function</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/RichIterable.html#flatCollect(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.flatCollect(Function)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="flatCollectBoolean(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.collection.primitive.MutableBooleanCollection)">
<!--   -->
</a><a id="flatCollectBoolean(org.eclipse.collections.api.block.function.Function,R)">flatCollectBoolean</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="../../../../api/collection/primitive/MutableBooleanCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">MutableBooleanCollection</a>&gt;</span>&nbsp;<span class="returnType">R</span>&nbsp;<span class="memberName">flatCollectBoolean</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends <a href="../../../../api/BooleanIterable.html" title="interface in org.eclipse.collections.api">BooleanIterable</a>&gt;&nbsp;function,
R&nbsp;target)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#flatCollectBoolean(org.eclipse.collections.api.block.function.Function,R)">RichIterable</a></code></span></div>
<div class="block">Same as flatCollect, only the results are collected into the target collection.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#flatCollectBoolean(org.eclipse.collections.api.block.function.Function,R)">flatCollectBoolean</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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>
<dd><code>target</code> - The collection into which results should be added.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>target</code>, which will contain a flattened collection of results produced by applying the given <code>function</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/RichIterable.html#flatCollect(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.flatCollect(Function)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="detect(org.eclipse.collections.api.block.predicate.Predicate)">detect</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">detect</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#detect(org.eclipse.collections.api.block.predicate.Predicate)">RichIterable</a></code></span></div>
<div class="block">Returns the first element of the iterable for which the predicate evaluates to true or null in the case where no
 element returns true. This method is commonly called find.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 Person person =
     people.detect(person -&gt; person.getFirstName().equals("John") &amp;&amp; person.getLastName().equals("Smith"));
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 Person person =
     people.detect(new Predicate&lt;Person&gt;()
     {
         public boolean accept(Person person)
         {
             return person.getFirstName().equals("John") &amp;&amp; person.getLastName().equals("Smith");
         }
     });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#detect(org.eclipse.collections.api.block.predicate.Predicate)">detect</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="detectWith(org.eclipse.collections.api.block.predicate.Predicate2,java.lang.Object)">
<!--   -->
</a><a id="detectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">detectWith</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;P&gt;</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">detectWith</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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#detectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">RichIterable</a></code></span></div>
<div class="block">Returns the first element that evaluates to true for the specified predicate2 and parameter, or null if none
 evaluate to true.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 Person person =
     people.detectWith((person, fullName) -&gt; person.getFullName().equals(fullName), "John Smith");
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 Person person =
     people.detectWith(new Predicate2&lt;Person, String&gt;()
     {
         public boolean accept(Person person, String fullName)
         {
             return person.getFullName().equals(fullName);
         }
     }, "John Smith");
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#detectWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">detectWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="detectOptional(org.eclipse.collections.api.block.predicate.Predicate)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">detectOptional</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#detectOptional(org.eclipse.collections.api.block.predicate.Predicate)">RichIterable</a></code></span></div>
<div class="block">Returns the first element of the iterable for which the predicate evaluates to true as an Optional. This method is commonly called find.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 Person person =
     people.detectOptional(person -&gt; person.getFirstName().equals("John") &amp;&amp; person.getLastName().equals("Smith"));
 </pre>
 <p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#detectOptional(org.eclipse.collections.api.block.predicate.Predicate)">detectOptional</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="detectWithOptional(org.eclipse.collections.api.block.predicate.Predicate2,java.lang.Object)">
<!--   -->
</a><a id="detectWithOptional(org.eclipse.collections.api.block.predicate.Predicate2,P)">detectWithOptional</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;P&gt;</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">detectWithOptional</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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#detectWithOptional(org.eclipse.collections.api.block.predicate.Predicate2,P)">RichIterable</a></code></span></div>
<div class="block">Returns the first element that evaluates to true for the specified predicate2 and parameter as an Optional.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 Optional&lt;Person&gt; person =
     people.detectWithOptional((person, fullName) -&gt; person.getFullName().equals(fullName), "John Smith");
 </pre>
 <p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#detectWithOptional(org.eclipse.collections.api.block.predicate.Predicate2,P)">detectWithOptional</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="detectIfNone(org.eclipse.collections.api.block.predicate.Predicate,org.eclipse.collections.api.block.function.Function0)">detectIfNone</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">detectIfNone</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#detectIfNone(org.eclipse.collections.api.block.predicate.Predicate,org.eclipse.collections.api.block.function.Function0)">RichIterable</a></code></span></div>
<div class="block">Returns the first element of the iterable for which the predicate evaluates to true. If no element matches
 the predicate, then returns the value of applying the specified function.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#detectIfNone(org.eclipse.collections.api.block.predicate.Predicate,org.eclipse.collections.api.block.function.Function0)">detectIfNone</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="detectWithIfNone(org.eclipse.collections.api.block.predicate.Predicate2,java.lang.Object,org.eclipse.collections.api.block.function.Function0)">
<!--   -->
</a><a id="detectWithIfNone(org.eclipse.collections.api.block.predicate.Predicate2,P,org.eclipse.collections.api.block.function.Function0)">detectWithIfNone</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;P&gt;</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">detectWithIfNone</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? super P&gt;&nbsp;predicate,
P&nbsp;parameter,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#detectWithIfNone(org.eclipse.collections.api.block.predicate.Predicate2,P,org.eclipse.collections.api.block.function.Function0)">RichIterable</a></code></span></div>
<div class="block">Returns the first element of the iterable that evaluates to true for the specified predicate2 and parameter, or
 returns the value of evaluating the specified function.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#detectWithIfNone(org.eclipse.collections.api.block.predicate.Predicate2,P,org.eclipse.collections.api.block.function.Function0)">detectWithIfNone</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="count(org.eclipse.collections.api.block.predicate.Predicate)">count</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">int</span>&nbsp;<span class="memberName">count</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#count(org.eclipse.collections.api.block.predicate.Predicate)">RichIterable</a></code></span></div>
<div class="block">Return the total number of elements that answer true to the specified predicate.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 int count =
     people.<b>count</b>(person -&gt; person.getAddress().getState().getName().equals("New York"));
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 int count =
     people.<b>count</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/RichIterable.html#count(org.eclipse.collections.api.block.predicate.Predicate)">count</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="countWith(org.eclipse.collections.api.block.predicate.Predicate2,java.lang.Object)">
<!--   -->
</a><a id="countWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">countWith</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;P&gt;</span>&nbsp;<span class="returnType">int</span>&nbsp;<span class="memberName">countWith</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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#countWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">RichIterable</a></code></span></div>
<div class="block">Returns the total number of elements that evaluate to true for the specified predicate.

 <pre>e.g.
 return lastNames.<b>countWith</b>(Predicates2.equal(), "Smith");
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#countWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">countWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="anySatisfy(org.eclipse.collections.api.block.predicate.Predicate)">anySatisfy</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">anySatisfy</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#anySatisfy(org.eclipse.collections.api.block.predicate.Predicate)">RichIterable</a></code></span></div>
<div class="block">Returns true if the predicate evaluates to true for any element of the iterable.
 Returns false if the iterable is empty, or if no element returned true when evaluating the predicate.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#anySatisfy(org.eclipse.collections.api.block.predicate.Predicate)">anySatisfy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="anySatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,java.lang.Object)">
<!--   -->
</a><a id="anySatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">anySatisfyWith</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;P&gt;</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">anySatisfyWith</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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#anySatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">RichIterable</a></code></span></div>
<div class="block">Returns true if the predicate evaluates to true for any element of the collection, or return false.
 Returns false if the collection is empty.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#anySatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">anySatisfyWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="allSatisfy(org.eclipse.collections.api.block.predicate.Predicate)">allSatisfy</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">allSatisfy</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#allSatisfy(org.eclipse.collections.api.block.predicate.Predicate)">RichIterable</a></code></span></div>
<div class="block">Returns true if the predicate evaluates to true for every element of the iterable or if the iterable is empty.
 Otherwise, returns false.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#allSatisfy(org.eclipse.collections.api.block.predicate.Predicate)">allSatisfy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="allSatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,java.lang.Object)">
<!--   -->
</a><a id="allSatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">allSatisfyWith</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;P&gt;</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">allSatisfyWith</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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#allSatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">RichIterable</a></code></span></div>
<div class="block">Returns true if the predicate evaluates to true for every element of the collection, or returns false.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#allSatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">allSatisfyWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="noneSatisfy(org.eclipse.collections.api.block.predicate.Predicate)">noneSatisfy</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">noneSatisfy</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#noneSatisfy(org.eclipse.collections.api.block.predicate.Predicate)">RichIterable</a></code></span></div>
<div class="block">Returns true if the predicate evaluates to false for every element of the iterable or if the iterable is empty.
 Otherwise, returns false.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#noneSatisfy(org.eclipse.collections.api.block.predicate.Predicate)">noneSatisfy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="noneSatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,java.lang.Object)">
<!--   -->
</a><a id="noneSatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">noneSatisfyWith</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;P&gt;</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">noneSatisfyWith</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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#noneSatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">RichIterable</a></code></span></div>
<div class="block">Returns true if the predicate evaluates to false for every element of the collection, or return false.
 Returns true if the collection is empty.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#noneSatisfyWith(org.eclipse.collections.api.block.predicate.Predicate2,P)">noneSatisfyWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="injectInto(java.lang.Object,org.eclipse.collections.api.block.function.Function2)">
<!--   -->
</a><a id="injectInto(IV,org.eclipse.collections.api.block.function.Function2)">injectInto</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;IV&gt;</span>&nbsp;<span class="returnType">IV</span>&nbsp;<span class="memberName">injectInto</span>&#8203;(<span class="arguments">IV&nbsp;injectedValue,
<a href="../../../../api/block/function/Function2.html" title="interface in org.eclipse.collections.api.block.function">Function2</a>&lt;? super IV,&#8203;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends IV&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#injectInto(IV,org.eclipse.collections.api.block.function.Function2)">RichIterable</a></code></span></div>
<div class="block">Returns the final result of evaluating function using each element of the iterable and the previous evaluation
 result as the parameters. The injected value is used for the first parameter of the first evaluation, and the current
 item in the iterable is used as the second parameter. This method is commonly called fold or sometimes reduce.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#injectInto(IV,org.eclipse.collections.api.block.function.Function2)">injectInto</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="injectInto(int,org.eclipse.collections.api.block.function.primitive.IntObjectToIntFunction)">injectInto</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">int</span>&nbsp;<span class="memberName">injectInto</span>&#8203;(<span class="arguments">int&nbsp;injectedValue,
<a href="../../../../api/block/function/primitive/IntObjectToIntFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">IntObjectToIntFunction</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#injectInto(int,org.eclipse.collections.api.block.function.primitive.IntObjectToIntFunction)">RichIterable</a></code></span></div>
<div class="block">Returns the final int result of evaluating function using each element of the iterable and the previous evaluation
 result as the parameters. The injected value is used for the first parameter of the first evaluation, and the current
 item in the iterable is used as the second parameter.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#injectInto(int,org.eclipse.collections.api.block.function.primitive.IntObjectToIntFunction)">injectInto</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="injectInto(long,org.eclipse.collections.api.block.function.primitive.LongObjectToLongFunction)">injectInto</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">long</span>&nbsp;<span class="memberName">injectInto</span>&#8203;(<span class="arguments">long&nbsp;injectedValue,
<a href="../../../../api/block/function/primitive/LongObjectToLongFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">LongObjectToLongFunction</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#injectInto(long,org.eclipse.collections.api.block.function.primitive.LongObjectToLongFunction)">RichIterable</a></code></span></div>
<div class="block">Returns the final long result of evaluating function using each element of the iterable and the previous evaluation
 result as the parameters. The injected value is used for the first parameter of the first evaluation, and the current
 item in the iterable is used as the second parameter.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#injectInto(long,org.eclipse.collections.api.block.function.primitive.LongObjectToLongFunction)">injectInto</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="injectInto(float,org.eclipse.collections.api.block.function.primitive.FloatObjectToFloatFunction)">injectInto</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">float</span>&nbsp;<span class="memberName">injectInto</span>&#8203;(<span class="arguments">float&nbsp;injectedValue,
<a href="../../../../api/block/function/primitive/FloatObjectToFloatFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">FloatObjectToFloatFunction</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#injectInto(float,org.eclipse.collections.api.block.function.primitive.FloatObjectToFloatFunction)">RichIterable</a></code></span></div>
<div class="block">Returns the final float result of evaluating function using each element of the iterable and the previous evaluation
 result as the parameters. The injected value is used for the first parameter of the first evaluation, and the current
 item in the iterable is used as the second parameter.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#injectInto(float,org.eclipse.collections.api.block.function.primitive.FloatObjectToFloatFunction)">injectInto</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="injectInto(double,org.eclipse.collections.api.block.function.primitive.DoubleObjectToDoubleFunction)">injectInto</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">double</span>&nbsp;<span class="memberName">injectInto</span>&#8203;(<span class="arguments">double&nbsp;injectedValue,
<a href="../../../../api/block/function/primitive/DoubleObjectToDoubleFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">DoubleObjectToDoubleFunction</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#injectInto(double,org.eclipse.collections.api.block.function.primitive.DoubleObjectToDoubleFunction)">RichIterable</a></code></span></div>
<div class="block">Returns the final double result of evaluating function using each element of the iterable and the previous evaluation
 result as the parameters. The injected value is used for the first parameter of the first evaluation, and the current
 item in the iterable is used as the second parameter.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#injectInto(double,org.eclipse.collections.api.block.function.primitive.DoubleObjectToDoubleFunction)">injectInto</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="into(java.util.Collection)">
<!--   -->
</a><a id="into(R)">into</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&gt;</span>&nbsp;<span class="returnType">R</span>&nbsp;<span class="memberName">into</span>&#8203;(<span class="arguments">R&nbsp;target)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#into(R)">RichIterable</a></code></span></div>
<div class="block">Adds all the elements in this iterable to the specific target Collection.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#into(R)">into</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toList()">toList</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/list/MutableList.html" title="interface in org.eclipse.collections.api.list">MutableList</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">toList</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#toList()">RichIterable</a></code></span></div>
<div class="block">Converts the collection to a MutableList implementation.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#toList()">toList</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toSortedList()">toSortedList</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/list/MutableList.html" title="interface in org.eclipse.collections.api.list">MutableList</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">toSortedList</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#toSortedList()">RichIterable</a></code></span></div>
<div class="block">Converts the collection to a MutableList implementation and sorts it using the natural order of the elements.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#toSortedList()">toSortedList</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toSortedList(java.util.Comparator)">toSortedList</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/list/MutableList.html" title="interface in org.eclipse.collections.api.list">MutableList</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">toSortedList</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;comparator)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#toSortedList(java.util.Comparator)">RichIterable</a></code></span></div>
<div class="block">Converts the collection to a MutableList implementation and sorts it using the specified comparator.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#toSortedList(java.util.Comparator)">toSortedList</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toSortedListBy(org.eclipse.collections.api.block.function.Function)">toSortedListBy</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;VV extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;? super VV&gt;&gt;</span>
<span class="returnType"><a href="../../../../api/list/MutableList.html" title="interface in org.eclipse.collections.api.list">MutableList</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">toSortedListBy</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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#toSortedListBy(org.eclipse.collections.api.block.function.Function)">RichIterable</a></code></span></div>
<div class="block">Converts the collection to a MutableList implementation and sorts it based on the natural order of the
 attribute returned by <code>function</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#toSortedListBy(org.eclipse.collections.api.block.function.Function)">toSortedListBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toSet()">toSet</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/set/MutableSet.html" title="interface in org.eclipse.collections.api.set">MutableSet</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">toSet</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#toSet()">RichIterable</a></code></span></div>
<div class="block">Converts the collection to a MutableSet implementation.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#toSet()">toSet</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toSortedSet()">toSortedSet</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/set/sorted/MutableSortedSet.html" title="interface in org.eclipse.collections.api.set.sorted">MutableSortedSet</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">toSortedSet</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#toSortedSet()">RichIterable</a></code></span></div>
<div class="block">Converts the collection to a MutableSortedSet implementation and sorts it using the natural order of the
 elements.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#toSortedSet()">toSortedSet</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toSortedSet(java.util.Comparator)">toSortedSet</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/set/sorted/MutableSortedSet.html" title="interface in org.eclipse.collections.api.set.sorted">MutableSortedSet</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">toSortedSet</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;comparator)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#toSortedSet(java.util.Comparator)">RichIterable</a></code></span></div>
<div class="block">Converts the collection to a MutableSortedSet implementation and sorts it using the specified comparator.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#toSortedSet(java.util.Comparator)">toSortedSet</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toSortedSetBy(org.eclipse.collections.api.block.function.Function)">toSortedSetBy</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;VV extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;? super VV&gt;&gt;</span>
<span class="returnType"><a href="../../../../api/set/sorted/MutableSortedSet.html" title="interface in org.eclipse.collections.api.set.sorted">MutableSortedSet</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">toSortedSetBy</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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#toSortedSetBy(org.eclipse.collections.api.block.function.Function)">RichIterable</a></code></span></div>
<div class="block">Converts the collection to a MutableSortedSet implementation and sorts it based on the natural order of the
 attribute returned by <code>function</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#toSortedSetBy(org.eclipse.collections.api.block.function.Function)">toSortedSetBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toBag()">toBag</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/bag/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">toBag</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#toBag()">RichIterable</a></code></span></div>
<div class="block">Converts the collection to the default MutableBag implementation.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#toBag()">toBag</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toSortedBag()">toSortedBag</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/bag/sorted/MutableSortedBag.html" title="interface in org.eclipse.collections.api.bag.sorted">MutableSortedBag</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">toSortedBag</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#toSortedBag()">RichIterable</a></code></span></div>
<div class="block">Converts the collection to a MutableSortedBag implementation and sorts it using the natural order of the
 elements.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#toSortedBag()">toSortedBag</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toSortedBag(java.util.Comparator)">toSortedBag</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/bag/sorted/MutableSortedBag.html" title="interface in org.eclipse.collections.api.bag.sorted">MutableSortedBag</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">toSortedBag</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;comparator)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#toSortedBag(java.util.Comparator)">RichIterable</a></code></span></div>
<div class="block">Converts the collection to the MutableSortedBag implementation and sorts it using the specified comparator.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#toSortedBag(java.util.Comparator)">toSortedBag</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toSortedBagBy(org.eclipse.collections.api.block.function.Function)">toSortedBagBy</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;VV extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;? super VV&gt;&gt;</span>
<span class="returnType"><a href="../../../../api/bag/sorted/MutableSortedBag.html" title="interface in org.eclipse.collections.api.bag.sorted">MutableSortedBag</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">toSortedBagBy</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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#toSortedBagBy(org.eclipse.collections.api.block.function.Function)">RichIterable</a></code></span></div>
<div class="block">Converts the collection to a MutableSortedBag implementation and sorts it based on the natural order of the
 attribute returned by <code>function</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#toSortedBagBy(org.eclipse.collections.api.block.function.Function)">toSortedBagBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toMap</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;NK,&#8203;
NV&gt;</span>&nbsp;<span class="returnType"><a href="../../../../api/map/MutableMap.html" title="interface in org.eclipse.collections.api.map">MutableMap</a>&lt;NK,&#8203;NV&gt;</span>&nbsp;<span class="memberName">toMap</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NK&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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NV&gt;&nbsp;valueFunction)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#toMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">RichIterable</a></code></span></div>
<div class="block">Converts the collection to a MutableMap implementation using the specified key and value functions.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#toMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toMap</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function,java.util.Map)">
<!--   -->
</a><a id="toMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function,R)">toMap</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;NK,&#8203;
NV,&#8203;
R extends <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;NK,&#8203;
NV&gt;&gt;</span>&nbsp;<span class="returnType">R</span>&nbsp;<span class="memberName">toMap</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NK&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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NV&gt;&nbsp;valueFunction,
R&nbsp;target)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#toMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function,R)">RichIterable</a></code></span></div>
<div class="block">Same as <a href="../../../../api/RichIterable.html#toMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)"><code>RichIterable.toMap(Function, Function)</code></a>, except that the results are gathered into the specified <code>target</code>
 map.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#toMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function,R)">toMap</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toSortedMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toSortedMap</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;NK,&#8203;
NV&gt;</span>&nbsp;<span class="returnType"><a href="../../../../api/map/sorted/MutableSortedMap.html" title="interface in org.eclipse.collections.api.map.sorted">MutableSortedMap</a>&lt;NK,&#8203;NV&gt;</span>&nbsp;<span class="memberName">toSortedMap</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NK&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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NV&gt;&nbsp;valueFunction)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#toSortedMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">RichIterable</a></code></span></div>
<div class="block">Converts the collection to a MutableSortedMap implementation using the specified key and value functions
 sorted by the key elements' natural ordering.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#toSortedMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toSortedMap</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toSortedMap(java.util.Comparator,org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toSortedMap</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;NK,&#8203;
NV&gt;</span>&nbsp;<span class="returnType"><a href="../../../../api/map/sorted/MutableSortedMap.html" title="interface in org.eclipse.collections.api.map.sorted">MutableSortedMap</a>&lt;NK,&#8203;NV&gt;</span>&nbsp;<span class="memberName">toSortedMap</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;? super NK&gt;&nbsp;comparator,
<a href="../../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NK&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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NV&gt;&nbsp;valueFunction)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#toSortedMap(java.util.Comparator,org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">RichIterable</a></code></span></div>
<div class="block">Converts the collection to a MutableSortedMap implementation using the specified key and value functions
 sorted by the given comparator.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><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></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toSortedMapBy(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toSortedMapBy</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;KK extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;? super KK&gt;,&#8203;
NK,&#8203;
NV&gt;</span>
<span class="returnType"><a href="../../../../api/map/sorted/MutableSortedMap.html" title="interface in org.eclipse.collections.api.map.sorted">MutableSortedMap</a>&lt;NK,&#8203;NV&gt;</span>&nbsp;<span class="memberName">toSortedMapBy</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 NK,&#8203;KK&gt;&nbsp;sortBy,
<a href="../../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NK&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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NV&gt;&nbsp;valueFunction)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><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)">RichIterable</a></code></span></div>
<div class="block">Converts the collection to a MutableSortedMap implementation using the specified key and value functions
 and sorts it based on the natural order of the attribute returned by <code>sortBy</code> function.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><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></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toBiMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toBiMap</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;NK,&#8203;
NV&gt;</span>&nbsp;<span class="returnType"><a href="../../../../api/bimap/MutableBiMap.html" title="interface in org.eclipse.collections.api.bimap">MutableBiMap</a>&lt;NK,&#8203;NV&gt;</span>&nbsp;<span class="memberName">toBiMap</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NK&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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends NV&gt;&nbsp;valueFunction)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#toBiMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">RichIterable</a></code></span></div>
<div class="block">Converts the collection to a BiMap implementation using the specified key and value functions.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#toBiMap(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">toBiMap</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="asLazy()">asLazy</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/LazyIterable.html" title="interface in org.eclipse.collections.api">LazyIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">asLazy</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#asLazy()">RichIterable</a></code></span></div>
<div class="block">Returns a lazy (deferred) iterable, most likely implemented by calling LazyIterate.adapt(this).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#asLazy()">asLazy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toArray()">toArray</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/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>[]</span>&nbsp;<span class="memberName">toArray</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#toArray()">RichIterable</a></code></span></div>
<div class="block">Converts this iterable to an array.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#toArray()">toArray</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#toArray()" title="class or interface in java.util" class="externalLink"><code>Collection.toArray()</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toArray(java.lang.Object[])">
<!--   -->
</a><a id="toArray(T[])">toArray</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;T&gt;</span>&nbsp;<span class="returnType">T[]</span>&nbsp;<span class="memberName">toArray</span>&#8203;(<span class="arguments">T[]&nbsp;a)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#toArray(E%5B%5D)">RichIterable</a></code></span></div>
<div class="block">Converts this iterable to an array using the specified target array, assuming the target array is as long
 or longer than the iterable.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#toArray(E%5B%5D)">toArray</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true#toArray(T%5B%5D)" title="class or interface in java.util" class="externalLink"><code>Collection.toArray(Object[])</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="min(java.util.Comparator)">min</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">min</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;comparator)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#min(java.util.Comparator)">RichIterable</a></code></span></div>
<div class="block">Returns the minimum element out of this container based on the comparator.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#min(java.util.Comparator)">min</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="max(java.util.Comparator)">max</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">max</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util" class="externalLink">Comparator</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;comparator)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#max(java.util.Comparator)">RichIterable</a></code></span></div>
<div class="block">Returns the maximum element out of this container based on the comparator.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#max(java.util.Comparator)">max</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="min()">min</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">min</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#min()">RichIterable</a></code></span></div>
<div class="block">Returns the minimum element out of this container based on the natural order.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#min()">min</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="max()">max</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">max</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#max()">RichIterable</a></code></span></div>
<div class="block">Returns the maximum element out of this container based on the natural order.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#max()">max</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="maxBy(org.eclipse.collections.api.block.function.Function)">maxBy</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;VV extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;? super VV&gt;&gt;</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">maxBy</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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#maxBy(org.eclipse.collections.api.block.function.Function)">RichIterable</a></code></span></div>
<div class="block">Returns the maximum elements out of this container based on the natural order of the attribute returned by Function.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#maxBy(org.eclipse.collections.api.block.function.Function)">maxBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="minBy(org.eclipse.collections.api.block.function.Function)">minBy</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;VV extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;? super VV&gt;&gt;</span>&nbsp;<span class="returnType"><a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a></span>&nbsp;<span class="memberName">minBy</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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#minBy(org.eclipse.collections.api.block.function.Function)">RichIterable</a></code></span></div>
<div class="block">Returns the minimum elements out of this container based on the natural order of the attribute returned by Function.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#minBy(org.eclipse.collections.api.block.function.Function)">minBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="sumOfInt(org.eclipse.collections.api.block.function.primitive.IntFunction)">sumOfInt</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">long</span>&nbsp;<span class="memberName">sumOfInt</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#sumOfInt(org.eclipse.collections.api.block.function.primitive.IntFunction)">RichIterable</a></code></span></div>
<div class="block">Returns the final long result of evaluating function for each element of the iterable and adding the results
 together.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#sumOfInt(org.eclipse.collections.api.block.function.primitive.IntFunction)">sumOfInt</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="sumOfFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction)">sumOfFloat</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">double</span>&nbsp;<span class="memberName">sumOfFloat</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#sumOfFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction)">RichIterable</a></code></span></div>
<div class="block">Returns the final double result of evaluating function for each element of the iterable and adding the results
 together. It uses Kahan summation algorithm to reduce numerical error.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#sumOfFloat(org.eclipse.collections.api.block.function.primitive.FloatFunction)">sumOfFloat</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="sumOfLong(org.eclipse.collections.api.block.function.primitive.LongFunction)">sumOfLong</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">long</span>&nbsp;<span class="memberName">sumOfLong</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#sumOfLong(org.eclipse.collections.api.block.function.primitive.LongFunction)">RichIterable</a></code></span></div>
<div class="block">Returns the final long result of evaluating function for each element of the iterable and adding the results
 together.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#sumOfLong(org.eclipse.collections.api.block.function.primitive.LongFunction)">sumOfLong</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="sumOfDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction)">sumOfDouble</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">double</span>&nbsp;<span class="memberName">sumOfDouble</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#sumOfDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction)">RichIterable</a></code></span></div>
<div class="block">Returns the final double result of evaluating function for each element of the iterable and adding the results
 together. It uses Kahan summation algorithm to reduce numerical error.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#sumOfDouble(org.eclipse.collections.api.block.function.primitive.DoubleFunction)">sumOfDouble</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</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/MutableObjectLongMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableObjectLongMap</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/map/primitive/MutablePrimitiveObjectMap.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/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</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/MutableObjectDoubleMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableObjectDoubleMap</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/map/primitive/MutablePrimitiveObjectMap.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/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</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/MutableObjectLongMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableObjectLongMap</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/map/primitive/MutablePrimitiveObjectMap.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/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</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/MutableObjectDoubleMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableObjectDoubleMap</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/map/primitive/MutablePrimitiveObjectMap.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/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="keySet()">keySet</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/set/primitive/MutableDoubleSet.html" title="interface in org.eclipse.collections.api.set.primitive">MutableDoubleSet</a></span>&nbsp;<span class="memberName">keySet</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html#keySet()">DoubleObjectMap</a></code></span></div>
<div class="block">Returns a set containing all the keys in this map. The set is backed by the
 map, so any modifications to the returned set will affect this map.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/DoubleObjectMap.html#keySet()">keySet</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">DoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a mutable set containing the keys in this map</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="values()">values</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/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">values</span>()</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#values()">values</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="keysView()">keysView</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/LazyDoubleIterable.html" title="interface in org.eclipse.collections.api">LazyDoubleIterable</a></span>&nbsp;<span class="memberName">keysView</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html#keysView()">DoubleObjectMap</a></code></span></div>
<div class="block">Returns a view of the keys in this map. This iterable is backed by the map, so
 any modifications to the underlying map will be reflected in the keys returned
 by the iterable.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/DoubleObjectMap.html#keysView()">keysView</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">DoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a view of the keys in this map</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="keyValuesView()">keyValuesView</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="../../../../api/tuple/primitive/DoubleObjectPair.html" title="interface in org.eclipse.collections.api.tuple.primitive">DoubleObjectPair</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&gt;</span>&nbsp;<span class="memberName">keyValuesView</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html#keyValuesView()">DoubleObjectMap</a></code></span></div>
<div class="block">Returns a view of the key/value pairs in this map. This iterable is backed by
 the map, so any modifications to the underlying map will be reflected in the
 pairs returned by the iterable.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/DoubleObjectMap.html#keyValuesView()">keyValuesView</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">DoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a view of the keys in this map</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/primitive/MutableObjectDoubleMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableObjectDoubleMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</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/primitive/DoubleObjectMap.html#flipUniqueValues()">DoubleObjectMap</a></code></span></div>
<div class="block">Return the ObjectDoubleMap that is obtained by flipping the direction of this map and making the associations
 from value to key.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/DoubleObjectMap.html#flipUniqueValues()">flipUniqueValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">DoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#flipUniqueValues()">flipUniqueValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="equals(java.lang.Object)">equals</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">boolean</span>&nbsp;<span class="memberName">equals</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;obj)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#equals(java.lang.Object)">PrimitiveObjectMap</a></code></span></div>
<div class="block">Follows the same general contract as <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"><code>Map.equals(Object)</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#equals(java.lang.Object)">equals</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="hashCode()">hashCode</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">int</span>&nbsp;<span class="memberName">hashCode</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#hashCode()">PrimitiveObjectMap</a></code></span></div>
<div class="block">Follows the same general contract as <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"><code>Map.hashCode()</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#hashCode()">hashCode</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toString()">toString</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/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></span>&nbsp;<span class="memberName">toString</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#toString()">PrimitiveObjectMap</a></code></span></div>
<div class="block">Returns a string with the keys and values of this map separated by commas with spaces and
 enclosed in curly braces. Each key and value is separated by an equals sign.

 <pre>
 Assert.assertEquals(
     "{1=1, 2=2, 3=3}",
     IntObjectMaps.mutable.empty().withKeyValue(1, 1).withKeyValue(2, 2).withKeyValue(3, 3).toString());
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#toString()">toString</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#toString()">toString</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a string representation of this PrimitiveObjectMap</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true#toString()" title="class or interface in java.util" class="externalLink"><code>AbstractMap.toString()</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="makeString()">makeString</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/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></span>&nbsp;<span class="memberName">makeString</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#makeString()">RichIterable</a></code></span></div>
<div class="block">Returns a string representation of this collection by delegating to <a href="../../../../api/RichIterable.html#makeString(java.lang.String)"><code>RichIterable.makeString(String)</code></a> and defaulting
 the separator parameter to the characters <code>", "</code> (comma and space).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#makeString()">makeString</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a string representation of this collection.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="makeString(java.lang.String)">makeString</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/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></span>&nbsp;<span class="memberName">makeString</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;separator)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#makeString(java.lang.String)">RichIterable</a></code></span></div>
<div class="block">Returns a string representation of this collection by delegating to <a href="../../../../api/RichIterable.html#makeString(java.lang.String,java.lang.String,java.lang.String)"><code>RichIterable.makeString(String, String, String)</code></a>
 and defaulting the start and end parameters to <code>""</code> (the empty String).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#makeString(java.lang.String)">makeString</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a string representation of this collection.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="makeString(java.lang.String,java.lang.String,java.lang.String)">makeString</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/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></span>&nbsp;<span class="memberName">makeString</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;start,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;separator,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;end)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#makeString(java.lang.String,java.lang.String,java.lang.String)">RichIterable</a></code></span></div>
<div class="block">Returns a string representation of this collection with the elements separated by the specified
 separator and enclosed between the start and end strings.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#makeString(java.lang.String,java.lang.String,java.lang.String)">makeString</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a string representation of this collection.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="appendString(java.lang.Appendable)">appendString</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">appendString</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Appendable</a>&nbsp;appendable)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#appendString(java.lang.Appendable)">RichIterable</a></code></span></div>
<div class="block">Prints a string representation of this collection onto the given <code>Appendable</code>. Prints the string returned
 by <a href="../../../../api/RichIterable.html#makeString()"><code>RichIterable.makeString()</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#appendString(java.lang.Appendable)">appendString</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="appendString(java.lang.Appendable,java.lang.String)">appendString</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">appendString</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Appendable</a>&nbsp;appendable,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;separator)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#appendString(java.lang.Appendable,java.lang.String)">RichIterable</a></code></span></div>
<div class="block">Prints a string representation of this collection onto the given <code>Appendable</code>. Prints the string returned
 by <a href="../../../../api/RichIterable.html#makeString(java.lang.String)"><code>RichIterable.makeString(String)</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#appendString(java.lang.Appendable,java.lang.String)">appendString</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="appendString(java.lang.Appendable,java.lang.String,java.lang.String,java.lang.String)">appendString</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">appendString</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Appendable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Appendable</a>&nbsp;appendable,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;start,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;separator,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;end)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#appendString(java.lang.Appendable,java.lang.String,java.lang.String,java.lang.String)">RichIterable</a></code></span></div>
<div class="block">Prints a string representation of this collection onto the given <code>Appendable</code>. Prints the string returned
 by <a href="../../../../api/RichIterable.html#makeString(java.lang.String,java.lang.String,java.lang.String)"><code>RichIterable.makeString(String, String, String)</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#appendString(java.lang.Appendable,java.lang.String,java.lang.String,java.lang.String)">appendString</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="groupBy(org.eclipse.collections.api.block.function.Function)">groupBy</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;VV&gt;</span>&nbsp;<span class="returnType"><a href="../../../../api/multimap/bag/MutableBagMultimap.html" title="interface in org.eclipse.collections.api.multimap.bag">MutableBagMultimap</a>&lt;VV,&#8203;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/primitive/MutablePrimitiveObjectMap.html#groupBy(org.eclipse.collections.api.block.function.Function)">groupBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#groupBy(org.eclipse.collections.api.block.function.Function)">groupBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="groupBy(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.multimap.MutableMultimap)">
<!--   -->
</a><a id="groupBy(org.eclipse.collections.api.block.function.Function,R)">groupBy</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;VV,&#8203;
R extends <a href="../../../../api/multimap/MutableMultimap.html" title="interface in org.eclipse.collections.api.multimap">MutableMultimap</a>&lt;VV,&#8203;
<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&gt;</span>&nbsp;<span class="returnType">R</span>&nbsp;<span class="memberName">groupBy</span>&#8203;(<span class="arguments"><a href="../../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends VV&gt;&nbsp;function,
R&nbsp;target)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#groupBy(org.eclipse.collections.api.block.function.Function,R)">RichIterable</a></code></span></div>
<div class="block">Same as <a href="../../../../api/RichIterable.html#groupBy(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.groupBy(Function)</code></a>, except that the results are gathered into the specified <code>target</code>
 multimap.
 <p>
 Example using a Java 8 method reference:
 <pre>
 FastListMultimap&lt;String, Person&gt; peopleByLastName =
     people.groupBy(Person::getLastName, new FastListMultimap&lt;String, Person&gt;());
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 FastListMultimap&lt;String, Person&gt; peopleByLastName =
     people.groupBy(new Function&lt;Person, String&gt;()
     {
         public String valueOf(Person person)
         {
             return person.getLastName();
         }
     }, new FastListMultimap&lt;String, Person&gt;());
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#groupBy(org.eclipse.collections.api.block.function.Function,R)">groupBy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/MutableBagMultimap.html" title="interface in org.eclipse.collections.api.multimap.bag">MutableBagMultimap</a>&lt;VV,&#8203;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/primitive/MutablePrimitiveObjectMap.html#groupByEach(org.eclipse.collections.api.block.function.Function)">groupByEach</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#groupByEach(org.eclipse.collections.api.block.function.Function)">groupByEach</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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,org.eclipse.collections.api.multimap.MutableMultimap)">
<!--   -->
</a><a id="groupByEach(org.eclipse.collections.api.block.function.Function,R)">groupByEach</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;VV,&#8203;
R extends <a href="../../../../api/multimap/MutableMultimap.html" title="interface in org.eclipse.collections.api.multimap">MutableMultimap</a>&lt;VV,&#8203;
<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&gt;</span>&nbsp;<span class="returnType">R</span>&nbsp;<span class="memberName">groupByEach</span>&#8203;(<span class="arguments"><a href="../../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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,
R&nbsp;target)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#groupByEach(org.eclipse.collections.api.block.function.Function,R)">RichIterable</a></code></span></div>
<div class="block">Same as <a href="../../../../api/RichIterable.html#groupByEach(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.groupByEach(Function)</code></a>, except that the results are gathered into the specified <code>target</code>
 multimap.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#groupByEach(org.eclipse.collections.api.block.function.Function,R)">groupByEach</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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;VV&gt;</span>&nbsp;<span class="returnType"><a href="../../../../api/map/MutableMap.html" title="interface in org.eclipse.collections.api.map">MutableMap</a>&lt;VV,&#8203;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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#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/primitive/MutablePrimitiveObjectMap.html#groupByUniqueKey(org.eclipse.collections.api.block.function.Function)">groupByUniqueKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#groupByUniqueKey(org.eclipse.collections.api.block.function.Function)">groupByUniqueKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="groupByUniqueKey(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.map.MutableMapIterable)">
<!--   -->
</a><a id="groupByUniqueKey(org.eclipse.collections.api.block.function.Function,R)">groupByUniqueKey</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;VV,&#8203;
R extends <a href="../../../../api/map/MutableMapIterable.html" title="interface in org.eclipse.collections.api.map">MutableMapIterable</a>&lt;VV,&#8203;
<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&gt;</span>&nbsp;<span class="returnType">R</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? extends VV&gt;&nbsp;function,
R&nbsp;target)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#groupByUniqueKey(org.eclipse.collections.api.block.function.Function,R)">RichIterable</a></code></span></div>
<div class="block">Same as <a href="../../../../api/RichIterable.html#groupByUniqueKey(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.groupByUniqueKey(Function)</code></a>, except that the results are gathered into the specified <code>target</code>
 map.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#groupByUniqueKey(org.eclipse.collections.api.block.function.Function,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/RichIterable.html#groupByUniqueKey(org.eclipse.collections.api.block.function.Function)"><code>RichIterable.groupByUniqueKey(Function)</code></a></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/MutableBag.html" title="interface in org.eclipse.collections.api.bag">MutableBag</a>&lt;<a href="../../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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 7.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/primitive/MutablePrimitiveObjectMap.html#zip(java.lang.Iterable)">zip</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutablePrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutablePrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html#zip(java.lang.Iterable)">zip</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/PrimitiveObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">PrimitiveObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="zip(java.lang.Iterable,java.util.Collection)">
<!--   -->
</a><a id="zip(java.lang.Iterable,R)">zip</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;S,&#8203;
R extends <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="../../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;
S&gt;&gt;&gt;</span>&nbsp;<span class="returnType">R</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,
R&nbsp;target)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#zip(java.lang.Iterable,R)">RichIterable</a></code></span></div>
<div class="block">Same as <a href="../../../../api/RichIterable.html#zip(java.lang.Iterable)"><code>RichIterable.zip(Iterable)</code></a> but uses <code>target</code> for output.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#zip(java.lang.Iterable,R)">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="withKeyValue(double,java.lang.Object)">
<!--   -->
</a><a id="withKeyValue(double,V)">withKeyValue</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">withKeyValue</span>&#8203;(<span class="arguments">double&nbsp;key,
<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&nbsp;value)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#withKeyValue(double,V)">MutableDoubleObjectMap</a></code></span></div>
<div class="block">Associates a value with the specified key. If a value is already associated
 with the key in this map, it will be replaced with <code>value</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#withKeyValue(double,V)">withKeyValue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key</dd>
<dd><code>value</code> - the value to associate with <code>value</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this map</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><code>#put(double, V)</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="withoutKey(double)">withoutKey</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">withoutKey</span>&#8203;(<span class="arguments">double&nbsp;key)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#withoutKey(double)">MutableDoubleObjectMap</a></code></span></div>
<div class="block">Removes the mapping associated with the key, if one exists, from this map.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#withoutKey(double)">withoutKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key to remove</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this map</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#remove(double)"><code>MutableDoubleObjectMap.remove(double)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="withoutAllKeys(org.eclipse.collections.api.DoubleIterable)">withoutAllKeys</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">withoutAllKeys</span>&#8203;(<span class="arguments"><a href="../../../../api/DoubleIterable.html" title="interface in org.eclipse.collections.api">DoubleIterable</a>&nbsp;keys)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#withoutAllKeys(org.eclipse.collections.api.DoubleIterable)">MutableDoubleObjectMap</a></code></span></div>
<div class="block">Removes the mappings associated with all the keys, if they exist, from this map.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#withoutAllKeys(org.eclipse.collections.api.DoubleIterable)">withoutAllKeys</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>keys</code> - the keys to remove</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this map</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#remove(double)"><code>MutableDoubleObjectMap.remove(double)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="asUnmodifiable()">asUnmodifiable</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">asUnmodifiable</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#asUnmodifiable()">MutableDoubleObjectMap</a></code></span></div>
<div class="block">Returns an unmodifiable view of this map, delegating all read-only operations to this
 map and throwing an <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>UnsupportedOperationException</code></a> for all mutating operations.
 This avoids the overhead of copying the map when calling <a href="../../../../api/map/primitive/DoubleObjectMap.html#toImmutable()"><code>DoubleObjectMap.toImmutable()</code></a> while
 still providing immutability.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#asUnmodifiable()">asUnmodifiable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an unmodifiable view of this map</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="asSynchronized()">asSynchronized</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">asSynchronized</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#asSynchronized()">MutableDoubleObjectMap</a></code></span></div>
<div class="block">Returns a synchronized view of this map, delegating all operations to this map but
 ensuring only one caller has access to the map at a time.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html#asSynchronized()">asSynchronized</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a synchronized view of this map</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/primitive/ImmutableDoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableDoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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/primitive/DoubleObjectMap.html#toImmutable()">DoubleObjectMap</a></code></span></div>
<div class="block">Returns a copy of this map that is immutable (if this map is mutable) or
 itself if it is already immutable.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/DoubleObjectMap.html#toImmutable()">toImmutable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/DoubleObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">DoubleObjectMap</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an immutable map that is equivalent to this one</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="forEach(org.eclipse.collections.api.block.procedure.Procedure)">forEach</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">forEach</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;procedure)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/InternalIterable.html#forEach(org.eclipse.collections.api.block.procedure.Procedure)">InternalIterable</a></code></span></div>
<div class="block">The procedure is executed for each element in the iterable.
 <p>
 Example using a Java 8 lambda:
 <pre>
 people.forEach(Procedures.cast(person -&gt; LOGGER.info(person.getName())));
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 people.forEach(new Procedure&lt;Person&gt;()
 {
     public void value(Person person)
     {
         LOGGER.info(person.getName());
     }
 });
 </pre>
 NOTE: This method started to conflict with <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#forEach(java.util.function.Consumer)" title="class or interface in java.lang" class="externalLink"><code>Iterable.forEach(java.util.function.Consumer)</code></a>
 since Java 1.8. It is recommended to use <a href="../../../../api/RichIterable.html#each(org.eclipse.collections.api.block.procedure.Procedure)"><code>RichIterable.each(Procedure)</code></a> instead to avoid casting to Procedure.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/InternalIterable.html#forEach(org.eclipse.collections.api.block.procedure.Procedure)">forEach</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/InternalIterable.html" title="interface in org.eclipse.collections.api">InternalIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#forEach(org.eclipse.collections.api.block.procedure.Procedure)">forEach</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/RichIterable.html#each(org.eclipse.collections.api.block.procedure.Procedure)"><code>RichIterable.each(Procedure)</code></a>, 
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#forEach(java.util.function.Consumer)" title="class or interface in java.lang" class="externalLink"><code>Iterable.forEach(java.util.function.Consumer)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="each(org.eclipse.collections.api.block.procedure.Procedure)">each</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">each</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;procedure)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/RichIterable.html#each(org.eclipse.collections.api.block.procedure.Procedure)">RichIterable</a></code></span></div>
<div class="block">The procedure is executed for each element in the iterable.
 <p>
 Example using a Java 8 lambda expression:
 <pre>
 people.each(person -&gt; LOGGER.info(person.getName()));
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 people.each(new Procedure&lt;Person&gt;()
 {
     public void value(Person person)
     {
         LOGGER.info(person.getName());
     }
 });
 </pre>
 This method is a variant of <a href="../../../../api/InternalIterable.html#forEach(org.eclipse.collections.api.block.procedure.Procedure)"><code>InternalIterable.forEach(Procedure)</code></a>
 that has a signature conflict with <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#forEach(java.util.function.Consumer)" title="class or interface in java.lang" class="externalLink"><code>Iterable.forEach(java.util.function.Consumer)</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/RichIterable.html#each(org.eclipse.collections.api.block.procedure.Procedure)">each</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/InternalIterable.html#forEach(org.eclipse.collections.api.block.procedure.Procedure)"><code>InternalIterable.forEach(Procedure)</code></a>, 
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Iterable.html?is-external=true#forEach(java.util.function.Consumer)" title="class or interface in java.lang" class="externalLink"><code>Iterable.forEach(java.util.function.Consumer)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="forEachWithIndex(org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure)">forEachWithIndex</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">forEachWithIndex</span>&#8203;(<span class="arguments"><a href="../../../../api/block/procedure/primitive/ObjectIntProcedure.html" title="interface in org.eclipse.collections.api.block.procedure.primitive">ObjectIntProcedure</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;&nbsp;objectIntProcedure)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/InternalIterable.html#forEachWithIndex(org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure)">InternalIterable</a></code></span></div>
<div class="block">Iterates over the iterable passing each element and the current relative int index to the specified instance of
 ObjectIntProcedure.
 <p>
 Example using a Java 8 lambda:
 <pre>
 people.forEachWithIndex((Person person, int index) -&gt; LOGGER.info("Index: " + index + " person: " + person.getName()));
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 people.forEachWithIndex(new ObjectIntProcedure&lt;Person&gt;()
 {
     public void value(Person person, int index)
     {
         LOGGER.info("Index: " + index + " person: " + person.getName());
     }
 });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/InternalIterable.html#forEachWithIndex(org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure)">forEachWithIndex</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/InternalIterable.html" title="interface in org.eclipse.collections.api">InternalIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="forEachWith(org.eclipse.collections.api.block.procedure.Procedure2,java.lang.Object)">
<!--   -->
</a><a id="forEachWith(org.eclipse.collections.api.block.procedure.Procedure2,P)">forEachWith</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;P&gt;</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">forEachWith</span>&#8203;(<span class="arguments"><a href="../../../../api/block/procedure/Procedure2.html" title="interface in org.eclipse.collections.api.block.procedure">Procedure2</a>&lt;? super <a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>,&#8203;? super P&gt;&nbsp;procedure,
P&nbsp;parameter)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/InternalIterable.html#forEachWith(org.eclipse.collections.api.block.procedure.Procedure2,P)">InternalIterable</a></code></span></div>
<div class="block">The procedure2 is evaluated for each element in the iterable with the specified parameter provided
 as the second argument.
 <p>
 Example using a Java 8 lambda:
 <pre>
 people.forEachWith((Person person, Person other) -&gt;
     {
         if (person.isRelatedTo(other))
         {
              LOGGER.info(person.getName());
         }
     }, fred);
 </pre>
 <p>
 Example using an anonymous inner class:
 <pre>
 people.forEachWith(new Procedure2&lt;Person, Person&gt;()
 {
     public void value(Person person, Person other)
     {
         if (person.isRelatedTo(other))
         {
              LOGGER.info(person.getName());
         }
     }
 }, fred);
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/InternalIterable.html#forEachWith(org.eclipse.collections.api.block.procedure.Procedure2,P)">forEachWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/InternalIterable.html" title="interface in org.eclipse.collections.api">InternalIterable</a>&lt;<a href="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">iterator</span>()</div>
<div class="block">Must be called in a synchronized block.</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="SynchronizedDoubleObjectMap.html" title="type parameter in SynchronizedDoubleObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SynchronizedDoubleObjectMap.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2004&#x2013;2020. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>
