<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Sat Aug 08 22:45:01 CDT 2020 -->
<title>LongFloatMap (Eclipse Collections - 10.3.0)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2020-08-08">
<meta name="description" content="declaration: package: org.eclipse.collections.api.map.primitive, interface: LongFloatMap">
<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":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/LongFloatMap.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 LongFloatMap" class="title">Interface LongFloatMap</h1>
</div>
<div class="contentContainer">
<section class="description">
<dl>
<dt>All Superinterfaces:</dt>
<dd><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="../../PrimitiveIterable.html" title="interface in org.eclipse.collections.api">PrimitiveIterable</a></code></dd>
</dl>
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><code><a href="ImmutableLongFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableLongFloatMap</a></code>, <code><a href="MutableLongFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">MutableLongFloatMap</a></code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="../../../impl/map/mutable/primitive/LongFloatHashMap.html" title="class in org.eclipse.collections.impl.map.mutable.primitive">LongFloatHashMap</a></code>, <code><a href="../../../impl/map/mutable/primitive/SynchronizedLongFloatMap.html" title="class in org.eclipse.collections.impl.map.mutable.primitive">SynchronizedLongFloatMap</a></code>, <code><a href="../../../impl/map/mutable/primitive/UnmodifiableLongFloatMap.html" title="class in org.eclipse.collections.impl.map.mutable.primitive">UnmodifiableLongFloatMap</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">LongFloatMap</span>
extends <a href="FloatValuesMap.html" title="interface in org.eclipse.collections.api.map.primitive">FloatValuesMap</a></pre>
<div class="block">This file was automatically generated from template file primitivePrimitiveMap.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></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>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#containsKey(long)">containsKey</a></span>&#8203;(long&nbsp;key)</code></th>
<td class="colLast">
<div class="block">Returns whether or not the key is present in the map.</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object)">equals</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;o)</code></th>
<td class="colLast">
<div class="block">Follows the same general contract as <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.util" class="externalLink"><code>Map.equals(Object)</code></a>.</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="FloatLongMap.html" title="interface in org.eclipse.collections.api.map.primitive">FloatLongMap</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 FloatLongMap that is obtained by flipping the direction of this map and making the associations
 from value to key.</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#forEachKey(org.eclipse.collections.api.block.procedure.primitive.LongProcedure)">forEachKey</a></span>&#8203;(<a href="../../block/procedure/primitive/LongProcedure.html" title="interface in org.eclipse.collections.api.block.procedure.primitive">LongProcedure</a>&nbsp;procedure)</code></th>
<td class="colLast">
<div class="block">Iterates through each key in the map, invoking the procedure for each.</div>
</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#forEachKeyValue(org.eclipse.collections.api.block.procedure.primitive.LongFloatProcedure)">forEachKeyValue</a></span>&#8203;(<a href="../../block/procedure/primitive/LongFloatProcedure.html" title="interface in org.eclipse.collections.api.block.procedure.primitive">LongFloatProcedure</a>&nbsp;procedure)</code></th>
<td class="colLast">
<div class="block">Iterates through each key/value pair in the map, invoking the procedure for each.</div>
</td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#get(long)">get</a></span>&#8203;(long&nbsp;key)</code></th>
<td class="colLast">
<div class="block">Retrieves the value associated with the key.</div>
</td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getIfAbsent(long,float)">getIfAbsent</a></span>&#8203;(long&nbsp;key,
float&nbsp;ifAbsent)</code></th>
<td class="colLast">
<div class="block">Retrieves the value associated with the key, returning the specified default
 value if no such mapping exists.</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="#getOrThrow(long)">getOrThrow</a></span>&#8203;(long&nbsp;key)</code></th>
<td class="colLast">
<div class="block">Retrieves the value associated with the key, throwing an <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>IllegalStateException</code></a>
 if no such mapping exists.</div>
</td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hashCode()">hashCode</a></span>()</code></th>
<td class="colLast">
<div class="block">Follows the same general contract as <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#hashCode()" title="class or interface in java.util" class="externalLink"><code>Map.hashCode()</code></a>.</div>
</td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code><a href="../../set/primitive/MutableLongSet.html" title="interface in org.eclipse.collections.api.set.primitive">MutableLongSet</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#keySet()">keySet</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a set containing all the keys in this map.</div>
</td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code><a href="../../LazyLongIterable.html" title="interface in org.eclipse.collections.api">LazyLongIterable</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#keysView()">keysView</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a view of the keys in this map.</div>
</td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code><a href="../../RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="../../tuple/primitive/LongFloatPair.html" title="interface in org.eclipse.collections.api.tuple.primitive">LongFloatPair</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#keyValuesView()">keyValuesView</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a view of the key/value pairs in this map.</div>
</td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code><a href="LongFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">LongFloatMap</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reject(org.eclipse.collections.api.block.predicate.primitive.LongFloatPredicate)">reject</a></span>&#8203;(<a href="../../block/predicate/primitive/LongFloatPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">LongFloatPredicate</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="rowColor" id="i13">
<td class="colFirst"><code><a href="LongFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">LongFloatMap</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#select(org.eclipse.collections.api.block.predicate.primitive.LongFloatPredicate)">select</a></span>&#8203;(<a href="../../block/predicate/primitive/LongFloatPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">LongFloatPredicate</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="i14">
<td class="colFirst"><code><a href="ImmutableLongFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableLongFloatMap</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toImmutable()">toImmutable</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a copy of this map that is immutable (if this map is mutable) or
 itself if it is already immutable.</div>
</td>
</tr>
<tr class="rowColor" id="i15">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">
<div class="block">Follows the same general contract as <a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true#toString()" title="class or interface in java.util" class="externalLink"><code>AbstractMap.toString()</code></a></div>
</td>
</tr>
</tbody>
</table>
</div>
</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#floatIterator()">floatIterator</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#collect(org.eclipse.collections.api.block.function.primitive.FloatToObjectFunction)">collect</a>, <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#reject(org.eclipse.collections.api.block.predicate.primitive.FloatPredicate)">reject</a>, <a href="FloatValuesMap.html#select(org.eclipse.collections.api.block.predicate.primitive.FloatPredicate)">select</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.<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="get(long)">get</a></h3>
<div class="memberSignature"><span class="returnType">float</span>&nbsp;<span class="memberName">get</span>&#8203;(<span class="arguments">long&nbsp;key)</span></div>
<div class="block">Retrieves the value associated with the key. If no mapping exists for the key,
 the default value (usually <code>0</code>) is returned.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value associated with the key, or the default value if no such
 mapping exists</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getIfAbsent(long,float)">getIfAbsent</a></h3>
<div class="memberSignature"><span class="returnType">float</span>&nbsp;<span class="memberName">getIfAbsent</span>&#8203;(<span class="arguments">long&nbsp;key,
float&nbsp;ifAbsent)</span></div>
<div class="block">Retrieves the value associated with the key, returning the specified default
 value if no such mapping exists.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key</dd>
<dd><code>ifAbsent</code> - the default value to return if no mapping exists for <code>key</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value associated with the key, or <code>ifAbsent</code> if no such
 mapping exists.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="getOrThrow(long)">getOrThrow</a></h3>
<div class="memberSignature"><span class="returnType">float</span>&nbsp;<span class="memberName">getOrThrow</span>&#8203;(<span class="arguments">long&nbsp;key)</span></div>
<div class="block">Retrieves the value associated with the key, throwing an <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink"><code>IllegalStateException</code></a>
 if no such mapping exists.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value associated with the key</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalStateException</a></code> - if no mapping exists for the key</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="containsKey(long)">containsKey</a></h3>
<div class="memberSignature"><span class="returnType">boolean</span>&nbsp;<span class="memberName">containsKey</span>&#8203;(<span class="arguments">long&nbsp;key)</span></div>
<div class="block">Returns whether or not the key is present in the map.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>if a mapping exists in this map for the key</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="forEachKey(org.eclipse.collections.api.block.procedure.primitive.LongProcedure)">forEachKey</a></h3>
<div class="memberSignature"><span class="returnType">void</span>&nbsp;<span class="memberName">forEachKey</span>&#8203;(<span class="arguments"><a href="../../block/procedure/primitive/LongProcedure.html" title="interface in org.eclipse.collections.api.block.procedure.primitive">LongProcedure</a>&nbsp;procedure)</span></div>
<div class="block">Iterates through each key in the map, invoking the procedure for each.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>procedure</code> - the procedure to invoke for each key</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="forEachKeyValue(org.eclipse.collections.api.block.procedure.primitive.LongFloatProcedure)">forEachKeyValue</a></h3>
<div class="memberSignature"><span class="returnType">void</span>&nbsp;<span class="memberName">forEachKeyValue</span>&#8203;(<span class="arguments"><a href="../../block/procedure/primitive/LongFloatProcedure.html" title="interface in org.eclipse.collections.api.block.procedure.primitive">LongFloatProcedure</a>&nbsp;procedure)</span></div>
<div class="block">Iterates through each key/value pair in the map, invoking the procedure for each.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>procedure</code> - the procedure to invoke for each key/value pair</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="keysView()">keysView</a></h3>
<div class="memberSignature"><span class="returnType"><a href="../../LazyLongIterable.html" title="interface in org.eclipse.collections.api">LazyLongIterable</a></span>&nbsp;<span class="memberName">keysView</span>()</div>
<div class="block">Returns a view of the keys in this map. This iterable is backed by the map, so
 any modifications to the underlying map will be reflected in the keys returned
 by the iterable.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a view of the keys in this map</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>5.0</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="keyValuesView()">keyValuesView</a></h3>
<div class="memberSignature"><span class="returnType"><a href="../../RichIterable.html" title="interface in org.eclipse.collections.api">RichIterable</a>&lt;<a href="../../tuple/primitive/LongFloatPair.html" title="interface in org.eclipse.collections.api.tuple.primitive">LongFloatPair</a>&gt;</span>&nbsp;<span class="memberName">keyValuesView</span>()</div>
<div class="block">Returns a view of the key/value pairs in this map. This iterable is backed by
 the map, so any modifications to the underlying map will be reflected in the
 pairs returned by the iterable.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a view of the keys in this map</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>5.0</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="FloatLongMap.html" title="interface in org.eclipse.collections.api.map.primitive">FloatLongMap</a></span>&nbsp;<span class="memberName">flipUniqueValues</span>()</div>
<div class="block">Return the FloatLongMap that is obtained by flipping the direction of this map and making the associations
 from value to key.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalStateException</a></code> - if the FloatLongMap contains duplicate values.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>9.0</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="select(org.eclipse.collections.api.block.predicate.primitive.LongFloatPredicate)">select</a></h3>
<div class="memberSignature"><span class="returnType"><a href="LongFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">LongFloatMap</a></span>&nbsp;<span class="memberName">select</span>&#8203;(<span class="arguments"><a href="../../block/predicate/primitive/LongFloatPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">LongFloatPredicate</a>&nbsp;predicate)</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="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.LongFloatPredicate)">reject</a></h3>
<div class="memberSignature"><span class="returnType"><a href="LongFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">LongFloatMap</a></span>&nbsp;<span class="memberName">reject</span>&#8203;(<span class="arguments"><a href="../../block/predicate/primitive/LongFloatPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">LongFloatPredicate</a>&nbsp;predicate)</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="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="equals(java.lang.Object)">equals</a></h3>
<div class="memberSignature"><span class="returnType">boolean</span>&nbsp;<span class="memberName">equals</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;o)</span></div>
<div class="block">Follows the same general contract as <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.util" class="externalLink"><code>Map.equals(Object)</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="hashCode()">hashCode</a></h3>
<div class="memberSignature"><span class="returnType">int</span>&nbsp;<span class="memberName">hashCode</span>()</div>
<div class="block">Follows the same general contract as <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true#hashCode()" title="class or interface in java.util" class="externalLink"><code>Map.hashCode()</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toString()">toString</a></h3>
<div class="memberSignature"><span class="returnType"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></span>&nbsp;<span class="memberName">toString</span>()</div>
<div class="block">Follows the same general contract as <a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractMap.html?is-external=true#toString()" title="class or interface in java.util" class="externalLink"><code>AbstractMap.toString()</code></a></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../PrimitiveIterable.html#toString()">toString</a></code>&nbsp;in interface&nbsp;<code><a href="../../PrimitiveIterable.html" title="interface in org.eclipse.collections.api">PrimitiveIterable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a string representation of this LongFloatMap</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/util/AbstractCollection.html?is-external=true#toString()" title="class or interface in java.util" class="externalLink"><code>AbstractCollection.toString()</code></a></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toImmutable()">toImmutable</a></h3>
<div class="memberSignature"><span class="returnType"><a href="ImmutableLongFloatMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableLongFloatMap</a></span>&nbsp;<span class="memberName">toImmutable</span>()</div>
<div class="block">Returns a copy of this map that is immutable (if this map is mutable) or
 itself if it is already immutable.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an immutable map that is equivalent to this one</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="keySet()">keySet</a></h3>
<div class="memberSignature"><span class="returnType"><a href="../../set/primitive/MutableLongSet.html" title="interface in org.eclipse.collections.api.set.primitive">MutableLongSet</a></span>&nbsp;<span class="memberName">keySet</span>()</div>
<div class="block">Returns a set containing all the keys in this map. The set is backed by the
 map, so any modifications to the returned set will affect this map.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a mutable set containing the keys in this map</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/LongFloatMap.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>
