<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Thu Aug 20 21:25:36 CDT 2020 -->
<title>MutableByteFloatMap (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: MutableByteFloatMap">
<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/MutableByteFloatMap.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 MutableByteFloatMap" class="title">Interface MutableByteFloatMap</h1>
</div>
<div class="contentContainer">
<section class="description">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="ByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">ByteFloatMap</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/ByteFloatHashMap.html" title="class in org.eclipse.collections.impl.map.mutable.primitive">ByteFloatHashMap</a></code>, <code><a href="../../../impl/map/mutable/primitive/SynchronizedByteFloatMap.html" title="class in org.eclipse.collections.impl.map.mutable.primitive">SynchronizedByteFloatMap</a></code>, <code><a href="../../../impl/map/mutable/primitive/UnmodifiableByteFloatMap.html" title="class in org.eclipse.collections.impl.map.mutable.primitive">UnmodifiableByteFloatMap</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">MutableByteFloatMap</span>
extends <a href="ByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">ByteFloatMap</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(byte,float)">addToValue</a></span>&#8203;(byte&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="MutableByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableByteFloatMap</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="MutableByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableByteFloatMap</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="MutableFloatByteMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatByteMap</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 FloatByteMap 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(byte,float)">getIfAbsentPut</a></span>&#8203;(byte&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(byte,org.eclipse.collections.api.block.function.primitive.FloatFunction0)">getIfAbsentPut</a></span>&#8203;(byte&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(byte,org.eclipse.collections.api.block.function.primitive.FloatFunction,P)">getIfAbsentPutWith</a></span>&#8203;(byte&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(byte,org.eclipse.collections.api.block.function.primitive.ByteToFloatFunction)">getIfAbsentPutWithKey</a></span>&#8203;(byte&nbsp;key,
<a href="../../block/function/primitive/ByteToFloatFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">ByteToFloatFunction</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(byte,float)">put</a></span>&#8203;(byte&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.ByteFloatMap)">putAll</a></span>&#8203;(<a href="ByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">ByteFloatMap</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.ByteFloatPair)">putPair</a></span>&#8203;(<a href="../../tuple/primitive/ByteFloatPair.html" title="interface in org.eclipse.collections.api.tuple.primitive">ByteFloatPair</a>&nbsp;keyValuePair)</code></th>
<td class="colLast">
<div class="block">This method allows MutableByteFloatMap the ability to add an element in the form of ByteFloatPair.</div>
</td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code><a href="MutableByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableByteFloatMap</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reject(org.eclipse.collections.api.block.predicate.primitive.ByteFloatPredicate)">reject</a></span>&#8203;(<a href="../../block/predicate/primitive/ByteFloatPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">ByteFloatPredicate</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(byte)">remove</a></span>&#8203;(byte&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(byte)">removeKey</a></span>&#8203;(byte&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(byte,float)">removeKeyIfAbsent</a></span>&#8203;(byte&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="MutableByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableByteFloatMap</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#select(org.eclipse.collections.api.block.predicate.primitive.ByteFloatPredicate)">select</a></span>&#8203;(<a href="../../block/predicate/primitive/ByteFloatPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">ByteFloatPredicate</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(byte,float,org.eclipse.collections.api.block.function.primitive.FloatToFloatFunction)">updateValue</a></span>&#8203;(byte&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.ByteFloatToFloatFunction)">updateValues</a></span>&#8203;(<a href="../../block/function/primitive/ByteFloatToFloatFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">ByteFloatToFloatFunction</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="MutableByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableByteFloatMap</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/ByteFloatPair.html" title="interface in org.eclipse.collections.api.tuple.primitive">ByteFloatPair</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="MutableByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableByteFloatMap</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withKeyValue(byte,float)">withKeyValue</a></span>&#8203;(byte&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="MutableByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableByteFloatMap</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withoutAllKeys(org.eclipse.collections.api.ByteIterable)">withoutAllKeys</a></span>&#8203;(<a href="../../ByteIterable.html" title="interface in org.eclipse.collections.api">ByteIterable</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="MutableByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableByteFloatMap</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withoutKey(byte)">withoutKey</a></span>&#8203;(byte&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="ByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">ByteFloatMap</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.map.primitive.ByteFloatMap">
<!--   -->
</a><code><a href="ByteFloatMap.html#containsKey(byte)">containsKey</a>, <a href="ByteFloatMap.html#equals(java.lang.Object)">equals</a>, <a href="ByteFloatMap.html#forEachKey(org.eclipse.collections.api.block.procedure.primitive.ByteProcedure)">forEachKey</a>, <a href="ByteFloatMap.html#forEachKeyValue(org.eclipse.collections.api.block.procedure.primitive.ByteFloatProcedure)">forEachKeyValue</a>, <a href="ByteFloatMap.html#get(byte)">get</a>, <a href="ByteFloatMap.html#getIfAbsent(byte,float)">getIfAbsent</a>, <a href="ByteFloatMap.html#getOrThrow(byte)">getOrThrow</a>, <a href="ByteFloatMap.html#hashCode()">hashCode</a>, <a href="ByteFloatMap.html#keySet()">keySet</a>, <a href="ByteFloatMap.html#keysView()">keysView</a>, <a href="ByteFloatMap.html#keyValuesView()">keyValuesView</a>, <a href="ByteFloatMap.html#toImmutable()">toImmutable</a>, <a href="ByteFloatMap.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(byte,float)">put</a></h3>
<div class="memberSignature"><span class="returnType">void</span>&nbsp;<span class="memberName">put</span>&#8203;(<span class="arguments">byte&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.ByteFloatPair)">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/ByteFloatPair.html" title="interface in org.eclipse.collections.api.tuple.primitive">ByteFloatPair</a>&nbsp;keyValuePair)</span></div>
<div class="block">This method allows MutableByteFloatMap the ability to add an element in the form of ByteFloatPair.</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(byte,float)"><code>put(byte, float)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="putAll(org.eclipse.collections.api.map.primitive.ByteFloatMap)">putAll</a></h3>
<div class="memberSignature"><span class="returnType">void</span>&nbsp;<span class="memberName">putAll</span>&#8203;(<span class="arguments"><a href="ByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">ByteFloatMap</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.ByteFloatToFloatFunction)">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/ByteFloatToFloatFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">ByteFloatToFloatFunction</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(byte)">removeKey</a></h3>
<div class="memberSignature"><span class="returnType">void</span>&nbsp;<span class="memberName">removeKey</span>&#8203;(<span class="arguments">byte&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(byte)"><code>remove(byte)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="remove(byte)">remove</a></h3>
<div class="memberSignature"><span class="returnType">void</span>&nbsp;<span class="memberName">remove</span>&#8203;(<span class="arguments">byte&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(byte)"><code>removeKey(byte)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="removeKeyIfAbsent(byte,float)">removeKeyIfAbsent</a></h3>
<div class="memberSignature"><span class="returnType">float</span>&nbsp;<span class="memberName">removeKeyIfAbsent</span>&#8203;(<span class="arguments">byte&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(byte,float)">getIfAbsentPut</a></h3>
<div class="memberSignature"><span class="returnType">float</span>&nbsp;<span class="memberName">getIfAbsentPut</span>&#8203;(<span class="arguments">byte&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(byte,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">byte&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(byte,org.eclipse.collections.api.block.function.primitive.ByteToFloatFunction)">getIfAbsentPutWithKey</a></h3>
<div class="memberSignature"><span class="returnType">float</span>&nbsp;<span class="memberName">getIfAbsentPutWithKey</span>&#8203;(<span class="arguments">byte&nbsp;key,
<a href="../../block/function/primitive/ByteToFloatFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">ByteToFloatFunction</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(byte,org.eclipse.collections.api.block.function.primitive.FloatFunction,java.lang.Object)">
<!--   -->
</a><a id="getIfAbsentPutWith(byte,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">byte&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(byte,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">byte&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="MutableFloatByteMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableFloatByteMap</a></span>&nbsp;<span class="memberName">flipUniqueValues</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="ByteFloatMap.html#flipUniqueValues()">ByteFloatMap</a></code></span></div>
<div class="block">Return the FloatByteMap 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="ByteFloatMap.html#flipUniqueValues()">flipUniqueValues</a></code>&nbsp;in interface&nbsp;<code><a href="ByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">ByteFloatMap</a></code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="select(org.eclipse.collections.api.block.predicate.primitive.ByteFloatPredicate)">select</a></h3>
<div class="memberSignature"><span class="returnType"><a href="MutableByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableByteFloatMap</a></span>&nbsp;<span class="memberName">select</span>&#8203;(<span class="arguments"><a href="../../block/predicate/primitive/ByteFloatPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">ByteFloatPredicate</a>&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="ByteFloatMap.html#select(org.eclipse.collections.api.block.predicate.primitive.ByteFloatPredicate)">ByteFloatMap</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="ByteFloatMap.html#select(org.eclipse.collections.api.block.predicate.primitive.ByteFloatPredicate)">select</a></code>&nbsp;in interface&nbsp;<code><a href="ByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">ByteFloatMap</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.ByteFloatPredicate)">reject</a></h3>
<div class="memberSignature"><span class="returnType"><a href="MutableByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableByteFloatMap</a></span>&nbsp;<span class="memberName">reject</span>&#8203;(<span class="arguments"><a href="../../block/predicate/primitive/ByteFloatPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">ByteFloatPredicate</a>&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="ByteFloatMap.html#reject(org.eclipse.collections.api.block.predicate.primitive.ByteFloatPredicate)">ByteFloatMap</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="ByteFloatMap.html#reject(org.eclipse.collections.api.block.predicate.primitive.ByteFloatPredicate)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="ByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">ByteFloatMap</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(byte,float)">withKeyValue</a></h3>
<div class="memberSignature"><span class="returnType"><a href="MutableByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableByteFloatMap</a></span>&nbsp;<span class="memberName">withKeyValue</span>&#8203;(<span class="arguments">byte&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(byte,float)"><code>put(byte, float)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="withoutKey(byte)">withoutKey</a></h3>
<div class="memberSignature"><span class="returnType"><a href="MutableByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableByteFloatMap</a></span>&nbsp;<span class="memberName">withoutKey</span>&#8203;(<span class="arguments">byte&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(byte)"><code>remove(byte)</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="withoutAllKeys(org.eclipse.collections.api.ByteIterable)">withoutAllKeys</a></h3>
<div class="memberSignature"><span class="returnType"><a href="MutableByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableByteFloatMap</a></span>&nbsp;<span class="memberName">withoutAllKeys</span>&#8203;(<span class="arguments"><a href="../../ByteIterable.html" title="interface in org.eclipse.collections.api">ByteIterable</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(byte)"><code>remove(byte)</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="MutableByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableByteFloatMap</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/ByteFloatPair.html" title="interface in org.eclipse.collections.api.tuple.primitive">ByteFloatPair</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.ByteFloatPair)"><code>putPair(ByteFloatPair)</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="MutableByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableByteFloatMap</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="ByteFloatMap.html#toImmutable()"><code>ByteFloatMap.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="MutableByteFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableByteFloatMap</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(byte,float)">addToValue</a></h3>
<div class="memberSignature"><span class="returnType">float</span>&nbsp;<span class="memberName">addToValue</span>&#8203;(<span class="arguments">byte&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/MutableByteFloatMap.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>
