<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Thu Aug 20 21:25:36 CDT 2020 -->
<title>MutableFloatFloatMap (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.api.map.primitive, interface: MutableFloatFloatMap">
<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":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":18,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":18,"i19":6,"i20":6,"i21":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default 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/MutableFloatFloatMap.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>Constr&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>Constr&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.api.map.primitive</a></div>
<h1 title="Interface MutableFloatFloatMap" class="title">Interface MutableFloatFloatMap</h1>
</div>
<div class="contentContainer">
<section class="description">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="FloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">FloatFloatMap</a></code>, <code><a href="../../FloatIterable.html" title="interface in org.eclipse.collections.api">FloatIterable</a></code>, <code><a href="FloatValuesMap.html" title="interface in org.eclipse.collections.api.map.primitive">FloatValuesMap</a></code>, <code><a href="MutableFloatValuesMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatValuesMap</a></code>, <code><a href="../../PrimitiveIterable.html" title="interface in org.eclipse.collections.api">PrimitiveIterable</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../../../impl/map/mutable/primitive/FloatFloatHashMap.html" title="class in org.eclipse.collections.impl.map.mutable.primitive">FloatFloatHashMap</a></code>, <code><a href="../../../impl/map/mutable/primitive/SynchronizedFloatFloatMap.html" title="class in org.eclipse.collections.impl.map.mutable.primitive">SynchronizedFloatFloatMap</a></code>, <code><a href="../../../impl/map/mutable/primitive/UnmodifiableFloatFloatMap.html" title="class in org.eclipse.collections.impl.map.mutable.primitive">UnmodifiableFloatFloatMap</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">MutableFloatFloatMap</span>
extends <a href="FloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">FloatFloatMap</a>, <a href="MutableFloatValuesMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatValuesMap</a></pre>
<div class="block">This file was automatically generated from template file mutablePrimitivePrimitiveMap.stg.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.0.</dd>
</dl>
</section>
<section class="summary">
<ul class="blockList">
<!-- ========== 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="t3" class="tableTab" onclick="show(4);">Abstract Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t5" class="tableTab" onclick="show(16);">Default 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>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addToValue(float,float)">addToValue</a></span>&#8203;(float&nbsp;key,
float&nbsp;toBeAdded)</code></th>
<td class="colLast">
<div class="block">Increments and updates the value associated with the key, if a value exists, or
 sets the value to be the specified value if one does not.</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="MutableFloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatFloatMap</a></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="altColor" id="i2">
<td class="colFirst"><code><a href="MutableFloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatFloatMap</a></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="rowColor" id="i3">
<td class="colFirst"><code><a href="MutableFloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatFloatMap</a></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 FloatFloatMap that is obtained by flipping the direction of this map and making the associations
 from value to key.</div>
</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getIfAbsentPut(float,float)">getIfAbsentPut</a></span>&#8203;(float&nbsp;key,
float&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="rowColor" id="i5">
<td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getIfAbsentPut(float,org.eclipse.collections.api.block.function.primitive.FloatFunction0)">getIfAbsentPut</a></span>&#8203;(float&nbsp;key,
<a href="../../block/function/primitive/FloatFunction0.html" title="interface in org.eclipse.collections.api.block.function.primitive">FloatFunction0</a>&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="altColor" id="i6">
<td class="colFirst"><code>&lt;P&gt;&nbsp;float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getIfAbsentPutWith(float,org.eclipse.collections.api.block.function.primitive.FloatFunction,P)">getIfAbsentPutWith</a></span>&#8203;(float&nbsp;key,
<a href="../../block/function/primitive/FloatFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">FloatFunction</a>&lt;? super P&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="i7">
<td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getIfAbsentPutWithKey(float,org.eclipse.collections.api.block.function.primitive.FloatToFloatFunction)">getIfAbsentPutWithKey</a></span>&#8203;(float&nbsp;key,
<a href="../../block/function/primitive/FloatToFloatFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">FloatToFloatFunction</a>&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="i8">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#put(float,float)">put</a></span>&#8203;(float&nbsp;key,
float&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Associates a value with the specified key.</div>
</td>
</tr>
<tr class="rowColor" id="i9">
<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.FloatFloatMap)">putAll</a></span>&#8203;(<a href="FloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">FloatFloatMap</a>&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="i10">
<td class="colFirst"><code>default void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#putPair(org.eclipse.collections.api.tuple.primitive.FloatFloatPair)">putPair</a></span>&#8203;(<a href="../../tuple/primitive/FloatFloatPair.html" title="interface in org.eclipse.collections.api.tuple.primitive">FloatFloatPair</a>&nbsp;keyValuePair)</code></th>
<td class="colLast">
<div class="block">This method allows MutableFloatFloatMap the ability to add an element in the form of FloatFloatPair.</div>
</td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code><a href="MutableFloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatFloatMap</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reject(org.eclipse.collections.api.block.predicate.primitive.FloatFloatPredicate)">reject</a></span>&#8203;(<a href="../../block/predicate/primitive/FloatFloatPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">FloatFloatPredicate</a>&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="i12">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#remove(float)">remove</a></span>&#8203;(float&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="i13">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeKey(float)">removeKey</a></span>&#8203;(float&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="i14">
<td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeKeyIfAbsent(float,float)">removeKeyIfAbsent</a></span>&#8203;(float&nbsp;key,
float&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Removes the mapping associated with the key, if one exists, from the map,
 returning the previously associated value with the key.</div>
</td>
</tr>
<tr class="rowColor" id="i15">
<td class="colFirst"><code><a href="MutableFloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatFloatMap</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#select(org.eclipse.collections.api.block.predicate.primitive.FloatFloatPredicate)">select</a></span>&#8203;(<a href="../../block/predicate/primitive/FloatFloatPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">FloatFloatPredicate</a>&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="altColor" id="i16">
<td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#updateValue(float,float,org.eclipse.collections.api.block.function.primitive.FloatToFloatFunction)">updateValue</a></span>&#8203;(float&nbsp;key,
float&nbsp;initialValueIfAbsent,
<a href="../../block/function/primitive/FloatToFloatFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">FloatToFloatFunction</a>&nbsp;function)</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 to the specified initial value if one does not.</div>
</td>
</tr>
<tr class="rowColor" id="i17">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#updateValues(org.eclipse.collections.api.block.function.primitive.FloatFloatToFloatFunction)">updateValues</a></span>&#8203;(<a href="../../block/function/primitive/FloatFloatToFloatFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">FloatFloatToFloatFunction</a>&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Updates the values in-place.</div>
</td>
</tr>
<tr class="altColor" id="i18">
<td class="colFirst"><code>default <a href="MutableFloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatFloatMap</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withAllKeyValues(java.lang.Iterable)">withAllKeyValues</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;<a href="../../tuple/primitive/FloatFloatPair.html" title="interface in org.eclipse.collections.api.tuple.primitive">FloatFloatPair</a>&gt;&nbsp;keyValuePairs)</code></th>
<td class="colLast">
<div class="block">Puts all of the key/value mappings from the specified pairs into this map.</div>
</td>
</tr>
<tr class="rowColor" id="i19">
<td class="colFirst"><code><a href="MutableFloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatFloatMap</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withKeyValue(float,float)">withKeyValue</a></span>&#8203;(float&nbsp;key,
float&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Associates a value with the specified key.</div>
</td>
</tr>
<tr class="altColor" id="i20">
<td class="colFirst"><code><a href="MutableFloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatFloatMap</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withoutAllKeys(org.eclipse.collections.api.FloatIterable)">withoutAllKeys</a></span>&#8203;(<a href="../../FloatIterable.html" title="interface in org.eclipse.collections.api">FloatIterable</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="i21">
<td class="colFirst"><code><a href="MutableFloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatFloatMap</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withoutKey(float)">withoutKey</a></span>&#8203;(float&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>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;org.eclipse.collections.api.map.primitive.<a href="FloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">FloatFloatMap</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.map.primitive.FloatFloatMap">
<!--   -->
</a><code><a href="FloatFloatMap.html#containsKey(float)">containsKey</a>, <a href="FloatFloatMap.html#equals(java.lang.Object)">equals</a>, <a href="FloatFloatMap.html#forEachKey(org.eclipse.collections.api.block.procedure.primitive.FloatProcedure)">forEachKey</a>, <a href="FloatFloatMap.html#forEachKeyValue(org.eclipse.collections.api.block.procedure.primitive.FloatFloatProcedure)">forEachKeyValue</a>, <a href="FloatFloatMap.html#get(float)">get</a>, <a href="FloatFloatMap.html#getIfAbsent(float,float)">getIfAbsent</a>, <a href="FloatFloatMap.html#getOrThrow(float)">getOrThrow</a>, <a href="FloatFloatMap.html#hashCode()">hashCode</a>, <a href="FloatFloatMap.html#keySet()">keySet</a>, <a href="FloatFloatMap.html#keysView()">keysView</a>, <a href="FloatFloatMap.html#keyValuesView()">keyValuesView</a>, <a href="FloatFloatMap.html#toImmutable()">toImmutable</a>, <a href="FloatFloatMap.html#toString()">toString</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;org.eclipse.collections.api.<a href="../../FloatIterable.html" title="interface in org.eclipse.collections.api">FloatIterable</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.FloatIterable">
<!--   -->
</a><code><a href="../../FloatIterable.html#allSatisfy(org.eclipse.collections.api.block.predicate.primitive.FloatPredicate)">allSatisfy</a>, <a href="../../FloatIterable.html#anySatisfy(org.eclipse.collections.api.block.predicate.primitive.FloatPredicate)">anySatisfy</a>, <a href="../../FloatIterable.html#asLazy()">asLazy</a>, <a href="../../FloatIterable.html#average()">average</a>, <a href="../../FloatIterable.html#averageIfEmpty(double)">averageIfEmpty</a>, <a href="../../FloatIterable.html#chunk(int)">chunk</a>, <a href="../../FloatIterable.html#collect(org.eclipse.collections.api.block.function.primitive.FloatToObjectFunction,R)">collect</a>, <a href="../../FloatIterable.html#collectBoolean(org.eclipse.collections.api.block.function.primitive.FloatToBooleanFunction,R)">collectBoolean</a>, <a href="../../FloatIterable.html#collectByte(org.eclipse.collections.api.block.function.primitive.FloatToByteFunction,R)">collectByte</a>, <a href="../../FloatIterable.html#collectChar(org.eclipse.collections.api.block.function.primitive.FloatToCharFunction,R)">collectChar</a>, <a href="../../FloatIterable.html#collectDouble(org.eclipse.collections.api.block.function.primitive.FloatToDoubleFunction,R)">collectDouble</a>, <a href="../../FloatIterable.html#collectFloat(org.eclipse.collections.api.block.function.primitive.FloatToFloatFunction,R)">collectFloat</a>, <a href="../../FloatIterable.html#collectInt(org.eclipse.collections.api.block.function.primitive.FloatToIntFunction,R)">collectInt</a>, <a href="../../FloatIterable.html#collectLong(org.eclipse.collections.api.block.function.primitive.FloatToLongFunction,R)">collectLong</a>, <a href="../../FloatIterable.html#collectShort(org.eclipse.collections.api.block.function.primitive.FloatToShortFunction,R)">collectShort</a>, <a href="../../FloatIterable.html#contains(float)">contains</a>, <a href="../../FloatIterable.html#containsAll(float...)">containsAll</a>, <a href="../../FloatIterable.html#containsAll(org.eclipse.collections.api.FloatIterable)">containsAll</a>, <a href="../../FloatIterable.html#count(org.eclipse.collections.api.block.predicate.primitive.FloatPredicate)">count</a>, <a href="../../FloatIterable.html#detectIfNone(org.eclipse.collections.api.block.predicate.primitive.FloatPredicate,float)">detectIfNone</a>, <a href="../../FloatIterable.html#each(org.eclipse.collections.api.block.procedure.primitive.FloatProcedure)">each</a>, <a href="../../FloatIterable.html#flatCollect(org.eclipse.collections.api.block.function.primitive.FloatToObjectFunction,R)">flatCollect</a>, <a href="../../FloatIterable.html#forEach(org.eclipse.collections.api.block.procedure.primitive.FloatProcedure)">forEach</a>, <a href="../../FloatIterable.html#injectInto(T,org.eclipse.collections.api.block.function.primitive.ObjectFloatToObjectFunction)">injectInto</a>, <a href="../../FloatIterable.html#max()">max</a>, <a href="../../FloatIterable.html#maxIfEmpty(float)">maxIfEmpty</a>, <a href="../../FloatIterable.html#median()">median</a>, <a href="../../FloatIterable.html#medianIfEmpty(double)">medianIfEmpty</a>, <a href="../../FloatIterable.html#min()">min</a>, <a href="../../FloatIterable.html#minIfEmpty(float)">minIfEmpty</a>, <a href="../../FloatIterable.html#noneSatisfy(org.eclipse.collections.api.block.predicate.primitive.FloatPredicate)">noneSatisfy</a>, <a href="../../FloatIterable.html#reduce(org.eclipse.collections.api.block.function.primitive.DoubleFloatToDoubleFunction)">reduce</a>, <a href="../../FloatIterable.html#reduceIfEmpty(org.eclipse.collections.api.block.function.primitive.DoubleFloatToDoubleFunction,double)">reduceIfEmpty</a>, <a href="../../FloatIterable.html#reject(org.eclipse.collections.api.block.predicate.primitive.FloatPredicate,R)">reject</a>, <a href="../../FloatIterable.html#select(org.eclipse.collections.api.block.predicate.primitive.FloatPredicate,R)">select</a>, <a href="../../FloatIterable.html#sum()">sum</a>, <a href="../../FloatIterable.html#summaryStatistics()">summaryStatistics</a>, <a href="../../FloatIterable.html#toArray()">toArray</a>, <a href="../../FloatIterable.html#toArray(float%5B%5D)">toArray</a>, <a href="../../FloatIterable.html#toBag()">toBag</a>, <a href="../../FloatIterable.html#toList()">toList</a>, <a href="../../FloatIterable.html#toSet()">toSet</a>, <a href="../../FloatIterable.html#toSortedArray()">toSortedArray</a>, <a href="../../FloatIterable.html#toSortedList()">toSortedList</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;org.eclipse.collections.api.map.primitive.<a href="FloatValuesMap.html" title="interface in org.eclipse.collections.api.map.primitive">FloatValuesMap</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.map.primitive.FloatValuesMap">
<!--   -->
</a><code><a href="FloatValuesMap.html#containsValue(float)">containsValue</a>, <a href="FloatValuesMap.html#forEachValue(org.eclipse.collections.api.block.procedure.primitive.FloatProcedure)">forEachValue</a>, <a href="FloatValuesMap.html#tap(org.eclipse.collections.api.block.procedure.primitive.FloatProcedure)">tap</a>, <a href="FloatValuesMap.html#values()">values</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;org.eclipse.collections.api.map.primitive.<a href="MutableFloatValuesMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatValuesMap</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.map.primitive.MutableFloatValuesMap">
<!--   -->
</a><code><a href="MutableFloatValuesMap.html#clear()">clear</a>, <a href="MutableFloatValuesMap.html#collect(org.eclipse.collections.api.block.function.primitive.FloatToObjectFunction)">collect</a>, <a href="MutableFloatValuesMap.html#floatIterator()">floatIterator</a>, <a href="MutableFloatValuesMap.html#reject(org.eclipse.collections.api.block.predicate.primitive.FloatPredicate)">reject</a>, <a href="MutableFloatValuesMap.html#select(org.eclipse.collections.api.block.predicate.primitive.FloatPredicate)">select</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;org.eclipse.collections.api.<a href="../../PrimitiveIterable.html" title="interface in org.eclipse.collections.api">PrimitiveIterable</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.PrimitiveIterable">
<!--   -->
</a><code><a href="../../PrimitiveIterable.html#appendString(java.lang.Appendable)">appendString</a>, <a href="../../PrimitiveIterable.html#appendString(java.lang.Appendable,java.lang.String)">appendString</a>, <a href="../../PrimitiveIterable.html#appendString(java.lang.Appendable,java.lang.String,java.lang.String,java.lang.String)">appendString</a>, <a href="../../PrimitiveIterable.html#isEmpty()">isEmpty</a>, <a href="../../PrimitiveIterable.html#makeString()">makeString</a>, <a href="../../PrimitiveIterable.html#makeString(java.lang.String)">makeString</a>, <a href="../../PrimitiveIterable.html#makeString(java.lang.String,java.lang.String,java.lang.String)">makeString</a>, <a href="../../PrimitiveIterable.html#notEmpty()">notEmpty</a>, <a href="../../PrimitiveIterable.html#size()">size</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ============ 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(float,float)">put</a></h3>
<div class="memberSignature"><span class="returnType">void</span>&nbsp;<span class="memberName">put</span>&#8203;(<span class="arguments">float&nbsp;key,
float&nbsp;value)</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="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key</dd>
<dd><code>value</code> - the value to associate with <code>value</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="putPair(org.eclipse.collections.api.tuple.primitive.FloatFloatPair)">putPair</a></h3>
<div class="memberSignature"><span class="modifiers">default</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">putPair</span>&#8203;(<span class="arguments"><a href="../../tuple/primitive/FloatFloatPair.html" title="interface in org.eclipse.collections.api.tuple.primitive">FloatFloatPair</a>&nbsp;keyValuePair)</span></div>
<div class="block">This method allows MutableFloatFloatMap the ability to add an element in the form of FloatFloatPair.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>9.1.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#put(float,float)"><code>put(float, float)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="putAll(org.eclipse.collections.api.map.primitive.FloatFloatMap)">putAll</a></h3>
<div class="memberSignature"><span class="returnType">void</span>&nbsp;<span class="memberName">putAll</span>&#8203;(<span class="arguments"><a href="FloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">FloatFloatMap</a>&nbsp;map)</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="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="updateValues(org.eclipse.collections.api.block.function.primitive.FloatFloatToFloatFunction)">updateValues</a></h3>
<div class="memberSignature"><span class="returnType">void</span>&nbsp;<span class="memberName">updateValues</span>&#8203;(<span class="arguments"><a href="../../block/function/primitive/FloatFloatToFloatFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">FloatFloatToFloatFunction</a>&nbsp;function)</span></div>
<div class="block">Updates the values in-place.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>function</code> - that takes a key and its value and that returns a new value for this key</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>10.0</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="removeKey(float)">removeKey</a></h3>
<div class="memberSignature"><span class="returnType">void</span>&nbsp;<span class="memberName">removeKey</span>&#8203;(<span class="arguments">float&nbsp;key)</span></div>
<div class="block">Removes the mapping associated with the key, if one exists, from the map.</div>
<dl>
<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="#remove(float)"><code>remove(float)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="remove(float)">remove</a></h3>
<div class="memberSignature"><span class="returnType">void</span>&nbsp;<span class="memberName">remove</span>&#8203;(<span class="arguments">float&nbsp;key)</span></div>
<div class="block">Removes the mapping associated with the key, if one exists, from the map.</div>
<dl>
<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="#removeKey(float)"><code>removeKey(float)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="removeKeyIfAbsent(float,float)">removeKeyIfAbsent</a></h3>
<div class="memberSignature"><span class="returnType">float</span>&nbsp;<span class="memberName">removeKeyIfAbsent</span>&#8203;(<span class="arguments">float&nbsp;key,
float&nbsp;value)</span></div>
<div class="block">Removes the mapping associated with the key, if one exists, from the map,
 returning the previously associated value with the key. If no mapping
 existed for the key, the specified default value is returned.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key to remove</dd>
<dd><code>value</code> - the default value to return if no mapping for the key exists</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value previously associated with the key, if one existed,
 or <code>value</code> if not</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getIfAbsentPut(float,float)">getIfAbsentPut</a></h3>
<div class="memberSignature"><span class="returnType">float</span>&nbsp;<span class="memberName">getIfAbsentPut</span>&#8203;(<span class="arguments">float&nbsp;key,
float&nbsp;value)</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="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(float,org.eclipse.collections.api.block.function.primitive.FloatFunction0)">getIfAbsentPut</a></h3>
<div class="memberSignature"><span class="returnType">float</span>&nbsp;<span class="memberName">getIfAbsentPut</span>&#8203;(<span class="arguments">float&nbsp;key,
<a href="../../block/function/primitive/FloatFunction0.html" title="interface in org.eclipse.collections.api.block.function.primitive">FloatFunction0</a>&nbsp;function)</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="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(float,org.eclipse.collections.api.block.function.primitive.FloatToFloatFunction)">getIfAbsentPutWithKey</a></h3>
<div class="memberSignature"><span class="returnType">float</span>&nbsp;<span class="memberName">getIfAbsentPutWithKey</span>&#8203;(<span class="arguments">float&nbsp;key,
<a href="../../block/function/primitive/FloatToFloatFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">FloatToFloatFunction</a>&nbsp;function)</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="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(float,org.eclipse.collections.api.block.function.primitive.FloatFunction,java.lang.Object)">
<!--   -->
</a><a id="getIfAbsentPutWith(float,org.eclipse.collections.api.block.function.primitive.FloatFunction,P)">getIfAbsentPutWith</a></h3>
<div class="memberSignature"><span class="typeParameters">&lt;P&gt;</span>&nbsp;<span class="returnType">float</span>&nbsp;<span class="memberName">getIfAbsentPutWith</span>&#8203;(<span class="arguments">float&nbsp;key,
<a href="../../block/function/primitive/FloatFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">FloatFunction</a>&lt;? super P&gt;&nbsp;function,
P&nbsp;parameter)</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="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(float,float,org.eclipse.collections.api.block.function.primitive.FloatToFloatFunction)">updateValue</a></h3>
<div class="memberSignature"><span class="returnType">float</span>&nbsp;<span class="memberName">updateValue</span>&#8203;(<span class="arguments">float&nbsp;key,
float&nbsp;initialValueIfAbsent,
<a href="../../block/function/primitive/FloatToFloatFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">FloatToFloatFunction</a>&nbsp;function)</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 to the specified initial value if one does not.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key</dd>
<dd><code>initialValueIfAbsent</code> - the initial value to supply 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</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 <code>initialValueIfAbsent</code> and associating the result with <code>key</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="flipUniqueValues()">flipUniqueValues</a></h3>
<div class="memberSignature"><span class="returnType"><a href="MutableFloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatFloatMap</a></span>&nbsp;<span class="memberName">flipUniqueValues</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="FloatFloatMap.html#flipUniqueValues()">FloatFloatMap</a></code></span></div>
<div class="block">Return the FloatFloatMap 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="FloatFloatMap.html#flipUniqueValues()">flipUniqueValues</a></code>&nbsp;in interface&nbsp;<code><a href="FloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">FloatFloatMap</a></code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="select(org.eclipse.collections.api.block.predicate.primitive.FloatFloatPredicate)">select</a></h3>
<div class="memberSignature"><span class="returnType"><a href="MutableFloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatFloatMap</a></span>&nbsp;<span class="memberName">select</span>&#8203;(<span class="arguments"><a href="../../block/predicate/primitive/FloatFloatPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">FloatFloatPredicate</a>&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="FloatFloatMap.html#select(org.eclipse.collections.api.block.predicate.primitive.FloatFloatPredicate)">FloatFloatMap</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="FloatFloatMap.html#select(org.eclipse.collections.api.block.predicate.primitive.FloatFloatPredicate)">select</a></code>&nbsp;in interface&nbsp;<code><a href="FloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">FloatFloatMap</a></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.FloatFloatPredicate)">reject</a></h3>
<div class="memberSignature"><span class="returnType"><a href="MutableFloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatFloatMap</a></span>&nbsp;<span class="memberName">reject</span>&#8203;(<span class="arguments"><a href="../../block/predicate/primitive/FloatFloatPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">FloatFloatPredicate</a>&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="FloatFloatMap.html#reject(org.eclipse.collections.api.block.predicate.primitive.FloatFloatPredicate)">FloatFloatMap</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="FloatFloatMap.html#reject(org.eclipse.collections.api.block.predicate.primitive.FloatFloatPredicate)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="FloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">FloatFloatMap</a></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="withKeyValue(float,float)">withKeyValue</a></h3>
<div class="memberSignature"><span class="returnType"><a href="MutableFloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatFloatMap</a></span>&nbsp;<span class="memberName">withKeyValue</span>&#8203;(<span class="arguments">float&nbsp;key,
float&nbsp;value)</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="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><a href="#put(float,float)"><code>put(float, float)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="withoutKey(float)">withoutKey</a></h3>
<div class="memberSignature"><span class="returnType"><a href="MutableFloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatFloatMap</a></span>&nbsp;<span class="memberName">withoutKey</span>&#8203;(<span class="arguments">float&nbsp;key)</span></div>
<div class="block">Removes the mapping associated with the key, if one exists, from this map.</div>
<dl>
<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="#remove(float)"><code>remove(float)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="withoutAllKeys(org.eclipse.collections.api.FloatIterable)">withoutAllKeys</a></h3>
<div class="memberSignature"><span class="returnType"><a href="MutableFloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatFloatMap</a></span>&nbsp;<span class="memberName">withoutAllKeys</span>&#8203;(<span class="arguments"><a href="../../FloatIterable.html" title="interface in org.eclipse.collections.api">FloatIterable</a>&nbsp;keys)</span></div>
<div class="block">Removes the mappings associated with all the keys, if they exist, from this map.</div>
<dl>
<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="#remove(float)"><code>remove(float)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="withAllKeyValues(java.lang.Iterable)">withAllKeyValues</a></h3>
<div class="memberSignature"><span class="modifiers">default</span>&nbsp;<span class="returnType"><a href="MutableFloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatFloatMap</a></span>&nbsp;<span class="memberName">withAllKeyValues</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;<a href="../../tuple/primitive/FloatFloatPair.html" title="interface in org.eclipse.collections.api.tuple.primitive">FloatFloatPair</a>&gt;&nbsp;keyValuePairs)</span></div>
<div class="block">Puts all of the key/value mappings from the specified pairs into this map. If this
 map already has a value associated with one of the keys in the pairs, it will be
 replaced with the value in the pair.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>iterable</code> - the pairs to put into this map</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this map</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#putPair(org.eclipse.collections.api.tuple.primitive.FloatFloatPair)"><code>putPair(FloatFloatPair)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="asUnmodifiable()">asUnmodifiable</a></h3>
<div class="memberSignature"><span class="returnType"><a href="MutableFloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatFloatMap</a></span>&nbsp;<span class="memberName">asUnmodifiable</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="FloatFloatMap.html#toImmutable()"><code>FloatFloatMap.toImmutable()</code></a> while
 still providing immutability.</div>
<dl>
<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="returnType"><a href="MutableFloatFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatFloatMap</a></span>&nbsp;<span class="memberName">asSynchronized</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="returnLabel">Returns:</span></dt>
<dd>a synchronized view of this map</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="addToValue(float,float)">addToValue</a></h3>
<div class="memberSignature"><span class="returnType">float</span>&nbsp;<span class="memberName">addToValue</span>&#8203;(<span class="arguments">float&nbsp;key,
float&nbsp;toBeAdded)</span></div>
<div class="block">Increments and updates the value associated with the key, if a value exists, or
 sets the value to be the specified value if one does not.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key</dd>
<dd><code>toBeAdded</code> - the amount to increment the existing value, if one exists, or
 to use as the initial value if one does not</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value after incrementing <code>toBeAdded</code> to the existing value
 associated with <code>key</code> or <code>toBeAdded</code> if one does not</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/MutableFloatFloatMap.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>Constr&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>Constr&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>
