<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Thu Aug 20 21:25:36 CDT 2020 -->
<title>SynchronizedLongObjectMap (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: SynchronizedLongObjectMap">
<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/SynchronizedLongObjectMap.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 SynchronizedLongObjectMap" class="title">Class SynchronizedLongObjectMap&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.SynchronizedLongObjectMap&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/LongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">LongObjectMap</a>&lt;V&gt;</code>, <code><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</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">SynchronizedLongObjectMap&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/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</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/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive"><code>MutableLongObjectMap</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/MutableLongObjectMap.html#asSynchronized()"><code>MutableLongObjectMap.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.SynchronizedLongObjectMap">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.MutableLongObjectMap)">SynchronizedLongObjectMap</a></span>&#8203;(<a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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.MutableLongObjectMap,java.lang.Object)">SynchronizedLongObjectMap</a></span>&#8203;(<a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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(long)">containsKey</a></span>&#8203;(long&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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableObjectLongMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableObjectLongMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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 ObjectLongMap 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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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.LongProcedure)">forEachKey</a></span>&#8203;(<a href="../../../../api/block/procedure/primitive/LongProcedure.html" title="interface in org.eclipse.collections.api.block.procedure.primitive">LongProcedure</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.LongObjectProcedure)">forEachKeyValue</a></span>&#8203;(<a href="../../../../api/block/procedure/primitive/LongObjectProcedure.html" title="interface in org.eclipse.collections.api.block.procedure.primitive">LongObjectProcedure</a>&lt;? super <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#get(long)">get</a></span>&#8203;(long&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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getIfAbsent(long,org.eclipse.collections.api.block.function.Function0)">getIfAbsent</a></span>&#8203;(long&nbsp;key,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getIfAbsentPut(long,org.eclipse.collections.api.block.function.Function0)">getIfAbsentPut</a></span>&#8203;(long&nbsp;key,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getIfAbsentPut(long,V)">getIfAbsentPut</a></span>&#8203;(long&nbsp;key,
<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getIfAbsentPutWith(long,org.eclipse.collections.api.block.function.Function,P)">getIfAbsentPutWith</a></span>&#8203;(long&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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getIfAbsentPutWithKey(long,org.eclipse.collections.api.block.function.primitive.LongToObjectFunction)">getIfAbsentPutWithKey</a></span>&#8203;(long&nbsp;key,
<a href="../../../../api/block/function/primitive/LongToObjectFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">LongToObjectFunction</a>&lt;? extends <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableLongSet.html" title="interface in org.eclipse.collections.api.set.primitive">MutableLongSet</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/LazyLongIterable.html" title="interface in org.eclipse.collections.api">LazyLongIterable</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/LongObjectPair.html" title="interface in org.eclipse.collections.api.tuple.primitive">LongObjectPair</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#put(long,V)">put</a></span>&#8203;(long&nbsp;key,
<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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.LongObjectMap)">putAll</a></span>&#8203;(<a href="../../../../api/map/primitive/LongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">LongObjectMap</a>&lt;? extends <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#putPair(org.eclipse.collections.api.tuple.primitive.LongObjectPair)">putPair</a></span>&#8203;(<a href="../../../../api/tuple/primitive/LongObjectPair.html" title="interface in org.eclipse.collections.api.tuple.primitive">LongObjectPair</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;&nbsp;keyValuePair)</code></th>
<td class="colLast">
<div class="block">This method allows MutableLongObjectMap the ability to add an element in the form of <code>LongObjectPair&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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reject(org.eclipse.collections.api.block.predicate.primitive.LongObjectPredicate)">reject</a></span>&#8203;(<a href="../../../../api/block/predicate/primitive/LongObjectPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">LongObjectPredicate</a>&lt;? super <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#remove(long)">remove</a></span>&#8203;(long&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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeKey(long)">removeKey</a></span>&#8203;(long&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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#select(org.eclipse.collections.api.block.predicate.primitive.LongObjectPredicate)">select</a></span>&#8203;(<a href="../../../../api/block/predicate/primitive/LongObjectPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">LongObjectPredicate</a>&lt;? super <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/ImmutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#updateValue(long,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function)">updateValue</a></span>&#8203;(long&nbsp;key,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>,&#8203;? extends <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#updateValueWith(long,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function2,P)">updateValueWith</a></span>&#8203;(long&nbsp;key,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>,&#8203;? super P,&#8203;? extends <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withKeyValue(long,V)">withKeyValue</a></span>&#8203;(long&nbsp;key,
<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withoutAllKeys(org.eclipse.collections.api.LongIterable)">withoutAllKeys</a></span>&#8203;(<a href="../../../../api/LongIterable.html" title="interface in org.eclipse.collections.api">LongIterable</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/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withoutKey(long)">withoutKey</a></span>&#8203;(long&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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.map.primitive.MutableLongObjectMap">
<!--   -->
</a><code><a href="../../../../api/map/primitive/MutableLongObjectMap.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.MutableLongObjectMap)">SynchronizedLongObjectMap</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">SynchronizedLongObjectMap</span>&#8203;(<span class="arguments"><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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.MutableLongObjectMap,java.lang.Object)">SynchronizedLongObjectMap</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">SynchronizedLongObjectMap</span>&#8203;(<span class="arguments"><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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(long,java.lang.Object)">
<!--   -->
</a><a id="put(long,V)">put</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></span>&nbsp;<span class="memberName">put</span>&#8203;(<span class="arguments">long&nbsp;key,
<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&nbsp;value)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html#put(long,V)">MutableLongObjectMap</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/MutableLongObjectMap.html#put(long,V)">put</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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.LongObjectPair)">putPair</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></span>&nbsp;<span class="memberName">putPair</span>&#8203;(<span class="arguments"><a href="../../../../api/tuple/primitive/LongObjectPair.html" title="interface in org.eclipse.collections.api.tuple.primitive">LongObjectPair</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;&nbsp;keyValuePair)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html#putPair(org.eclipse.collections.api.tuple.primitive.LongObjectPair)">MutableLongObjectMap</a></code></span></div>
<div class="block">This method allows MutableLongObjectMap the ability to add an element in the form of <code>LongObjectPair&lt;V&gt;</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableLongObjectMap.html#putPair(org.eclipse.collections.api.tuple.primitive.LongObjectPair)">putPair</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;</code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../api/map/primitive/MutableLongObjectMap.html#put(long,V)"><code>MutableLongObjectMap.put(long, Object)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="putAll(org.eclipse.collections.api.map.primitive.LongObjectMap)">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/LongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">LongObjectMap</a>&lt;? extends <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;&nbsp;map)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html#putAll(org.eclipse.collections.api.map.primitive.LongObjectMap)">MutableLongObjectMap</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/MutableLongObjectMap.html#putAll(org.eclipse.collections.api.map.primitive.LongObjectMap)">putAll</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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(long)">removeKey</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></span>&nbsp;<span class="memberName">removeKey</span>&#8203;(<span class="arguments">long&nbsp;key)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html#removeKey(long)">MutableLongObjectMap</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/MutableLongObjectMap.html#removeKey(long)">removeKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableLongObjectMap.html#remove(long)"><code>MutableLongObjectMap.remove(long)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="remove(long)">remove</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></span>&nbsp;<span class="memberName">remove</span>&#8203;(<span class="arguments">long&nbsp;key)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html#remove(long)">MutableLongObjectMap</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/MutableLongObjectMap.html#remove(long)">remove</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableLongObjectMap.html#removeKey(long)"><code>MutableLongObjectMap.removeKey(long)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getIfAbsentPut(long,java.lang.Object)">
<!--   -->
</a><a id="getIfAbsentPut(long,V)">getIfAbsentPut</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></span>&nbsp;<span class="memberName">getIfAbsentPut</span>&#8203;(<span class="arguments">long&nbsp;key,
<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&nbsp;value)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html#getIfAbsentPut(long,V)">MutableLongObjectMap</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/MutableLongObjectMap.html#getIfAbsentPut(long,V)">getIfAbsentPut</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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(long,org.eclipse.collections.api.block.function.Function0)">getIfAbsentPut</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></span>&nbsp;<span class="memberName">getIfAbsentPut</span>&#8203;(<span class="arguments">long&nbsp;key,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html#getIfAbsentPut(long,org.eclipse.collections.api.block.function.Function0)">MutableLongObjectMap</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/MutableLongObjectMap.html#getIfAbsentPut(long,org.eclipse.collections.api.block.function.Function0)">getIfAbsentPut</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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(long,org.eclipse.collections.api.block.function.primitive.LongToObjectFunction)">getIfAbsentPutWithKey</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></span>&nbsp;<span class="memberName">getIfAbsentPutWithKey</span>&#8203;(<span class="arguments">long&nbsp;key,
<a href="../../../../api/block/function/primitive/LongToObjectFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">LongToObjectFunction</a>&lt;? extends <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html#getIfAbsentPutWithKey(long,org.eclipse.collections.api.block.function.primitive.LongToObjectFunction)">MutableLongObjectMap</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/MutableLongObjectMap.html#getIfAbsentPutWithKey(long,org.eclipse.collections.api.block.function.primitive.LongToObjectFunction)">getIfAbsentPutWithKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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(long,org.eclipse.collections.api.block.function.Function,java.lang.Object)">
<!--   -->
</a><a id="getIfAbsentPutWith(long,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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></span>&nbsp;<span class="memberName">getIfAbsentPutWith</span>&#8203;(<span class="arguments">long&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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableLongObjectMap.html#getIfAbsentPutWith(long,org.eclipse.collections.api.block.function.Function,P)">MutableLongObjectMap</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/MutableLongObjectMap.html#getIfAbsentPutWith(long,org.eclipse.collections.api.block.function.Function,P)">getIfAbsentPutWith</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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(long,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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></span>&nbsp;<span class="memberName">updateValue</span>&#8203;(<span class="arguments">long&nbsp;key,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>,&#8203;? extends <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html#updateValue(long,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function)">MutableLongObjectMap</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/MutableLongObjectMap.html#updateValue(long,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/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="updateValueWith(long,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function2,java.lang.Object)">
<!--   -->
</a><a id="updateValueWith(long,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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></span>&nbsp;<span class="memberName">updateValueWith</span>&#8203;(<span class="arguments">long&nbsp;key,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>,&#8203;? super P,&#8203;? extends <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableLongObjectMap.html#updateValueWith(long,org.eclipse.collections.api.block.function.Function0,org.eclipse.collections.api.block.function.Function2,P)">MutableLongObjectMap</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/MutableLongObjectMap.html#updateValueWith(long,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/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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(long)">get</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></span>&nbsp;<span class="memberName">get</span>&#8203;(<span class="arguments">long&nbsp;key)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/LongObjectMap.html#get(long)">LongObjectMap</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/LongObjectMap.html#get(long)">get</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/LongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">LongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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(long,org.eclipse.collections.api.block.function.Function0)">getIfAbsent</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a></span>&nbsp;<span class="memberName">getIfAbsent</span>&#8203;(<span class="arguments">long&nbsp;key,
<a href="../../../../api/block/function/Function0.html" title="interface in org.eclipse.collections.api.block.function">Function0</a>&lt;? extends <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;&nbsp;ifAbsent)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/LongObjectMap.html#getIfAbsent(long,org.eclipse.collections.api.block.function.Function0)">LongObjectMap</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/LongObjectMap.html#getIfAbsent(long,org.eclipse.collections.api.block.function.Function0)">getIfAbsent</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/LongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">LongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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(long)">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">long&nbsp;key)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/LongObjectMap.html#containsKey(long)">LongObjectMap</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/LongObjectMap.html#containsKey(long)">containsKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/LongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">LongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/LongObjectMap.html#tap(org.eclipse.collections.api.block.procedure.Procedure)">tap</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/LongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">LongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableLongObjectMap.html#tap(org.eclipse.collections.api.block.procedure.Procedure)">tap</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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.LongProcedure)">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/LongProcedure.html" title="interface in org.eclipse.collections.api.block.procedure.primitive">LongProcedure</a>&nbsp;procedure)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/LongObjectMap.html#forEachKey(org.eclipse.collections.api.block.procedure.primitive.LongProcedure)">LongObjectMap</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/LongObjectMap.html#forEachKey(org.eclipse.collections.api.block.procedure.primitive.LongProcedure)">forEachKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/LongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">LongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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.LongObjectProcedure)">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/LongObjectProcedure.html" title="interface in org.eclipse.collections.api.block.procedure.primitive">LongObjectProcedure</a>&lt;? super <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;&nbsp;procedure)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/LongObjectMap.html#forEachKeyValue(org.eclipse.collections.api.block.procedure.primitive.LongObjectProcedure)">LongObjectMap</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/LongObjectMap.html#forEachKeyValue(org.eclipse.collections.api.block.procedure.primitive.LongObjectProcedure)">forEachKeyValue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/LongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">LongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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.LongObjectPredicate)">select</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">select</span>&#8203;(<span class="arguments"><a href="../../../../api/block/predicate/primitive/LongObjectPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">LongObjectPredicate</a>&lt;? super <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/LongObjectMap.html#select(org.eclipse.collections.api.block.predicate.primitive.LongObjectPredicate)">LongObjectMap</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/LongObjectMap.html#select(org.eclipse.collections.api.block.predicate.primitive.LongObjectPredicate)">select</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/LongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">LongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableLongObjectMap.html#select(org.eclipse.collections.api.block.predicate.primitive.LongObjectPredicate)">select</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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.LongObjectPredicate)">reject</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">reject</span>&#8203;(<span class="arguments"><a href="../../../../api/block/predicate/primitive/LongObjectPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">LongObjectPredicate</a>&lt;? super <a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/LongObjectMap.html#reject(org.eclipse.collections.api.block.predicate.primitive.LongObjectPredicate)">LongObjectMap</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/LongObjectMap.html#reject(org.eclipse.collections.api.block.predicate.primitive.LongObjectPredicate)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/LongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">LongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableLongObjectMap.html#reject(org.eclipse.collections.api.block.predicate.primitive.LongObjectPredicate)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableLongSet.html" title="interface in org.eclipse.collections.api.set.primitive">MutableLongSet</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/LongObjectMap.html#keySet()">LongObjectMap</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/LongObjectMap.html#keySet()">keySet</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/LongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">LongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/LazyLongIterable.html" title="interface in org.eclipse.collections.api">LazyLongIterable</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/LongObjectMap.html#keysView()">LongObjectMap</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/LongObjectMap.html#keysView()">keysView</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/LongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">LongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/LongObjectPair.html" title="interface in org.eclipse.collections.api.tuple.primitive">LongObjectPair</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/LongObjectMap.html#keyValuesView()">LongObjectMap</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/LongObjectMap.html#keyValuesView()">keyValuesView</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/LongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">LongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableObjectLongMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableObjectLongMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/LongObjectMap.html#flipUniqueValues()">LongObjectMap</a></code></span></div>
<div class="block">Return the ObjectLongMap 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/LongObjectMap.html#flipUniqueValues()">flipUniqueValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/LongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">LongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableLongObjectMap.html#flipUniqueValues()">flipUniqueValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="withKeyValue(long,java.lang.Object)">
<!--   -->
</a><a id="withKeyValue(long,V)">withKeyValue</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">withKeyValue</span>&#8203;(<span class="arguments">long&nbsp;key,
<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&nbsp;value)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html#withKeyValue(long,V)">MutableLongObjectMap</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/MutableLongObjectMap.html#withKeyValue(long,V)">withKeyValue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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(long, V)</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="withoutKey(long)">withoutKey</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">withoutKey</span>&#8203;(<span class="arguments">long&nbsp;key)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html#withoutKey(long)">MutableLongObjectMap</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/MutableLongObjectMap.html#withoutKey(long)">withoutKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableLongObjectMap.html#remove(long)"><code>MutableLongObjectMap.remove(long)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="withoutAllKeys(org.eclipse.collections.api.LongIterable)">withoutAllKeys</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">V</a>&gt;</span>&nbsp;<span class="memberName">withoutAllKeys</span>&#8203;(<span class="arguments"><a href="../../../../api/LongIterable.html" title="interface in org.eclipse.collections.api">LongIterable</a>&nbsp;keys)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html#withoutAllKeys(org.eclipse.collections.api.LongIterable)">MutableLongObjectMap</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/MutableLongObjectMap.html#withoutAllKeys(org.eclipse.collections.api.LongIterable)">withoutAllKeys</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableLongObjectMap.html#remove(long)"><code>MutableLongObjectMap.remove(long)</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/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableLongObjectMap.html#asUnmodifiable()">MutableLongObjectMap</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/LongObjectMap.html#toImmutable()"><code>LongObjectMap.toImmutable()</code></a> while
 still providing immutability.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../api/map/primitive/MutableLongObjectMap.html#asUnmodifiable()">asUnmodifiable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/MutableLongObjectMap.html#asSynchronized()">MutableLongObjectMap</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/MutableLongObjectMap.html#asSynchronized()">asSynchronized</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/MutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/ImmutableLongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableLongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/LongObjectMap.html#toImmutable()">LongObjectMap</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/LongObjectMap.html#toImmutable()">toImmutable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../api/map/primitive/LongObjectMap.html" title="interface in org.eclipse.collections.api.map.primitive">LongObjectMap</a>&lt;<a href="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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="SynchronizedLongObjectMap.html" title="type parameter in SynchronizedLongObjectMap">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/SynchronizedLongObjectMap.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>
