<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Sat Aug 08 22:45:01 CDT 2020 -->
<title>ImmutableObjectBooleanMap (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: ImmutableObjectBooleanMap">
<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":18};
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/ImmutableObjectBooleanMap.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 ImmutableObjectBooleanMap" class="title">Interface ImmutableObjectBooleanMap&lt;K&gt;</h1>
</div>
<div class="contentContainer">
<section class="description">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="../../BooleanIterable.html" title="interface in org.eclipse.collections.api">BooleanIterable</a></code>, <code><a href="ObjectBooleanMap.html" title="interface in org.eclipse.collections.api.map.primitive">ObjectBooleanMap</a>&lt;K&gt;</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/immutable/primitive/AbstractImmutableObjectBooleanMap.html" title="class in org.eclipse.collections.impl.map.immutable.primitive">AbstractImmutableObjectBooleanMap</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">ImmutableObjectBooleanMap&lt;K&gt;</span>
extends <a href="ObjectBooleanMap.html" title="interface in org.eclipse.collections.api.map.primitive">ObjectBooleanMap</a>&lt;K&gt;</pre>
<div class="block">This file was automatically generated from template file immutableObjectPrimitiveMap.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>&lt;V&gt;&nbsp;<a href="../../collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collect(org.eclipse.collections.api.block.function.primitive.BooleanToObjectFunction)">collect</a></span>&#8203;(<a href="../../block/function/primitive/BooleanToObjectFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">BooleanToObjectFunction</a>&lt;? extends V&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Returns a new collection with the results of applying the specified function on each element of the source
 collection.</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="ImmutableObjectBooleanMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableObjectBooleanMap</a>&lt;<a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newWithKeyValue(K,boolean)">newWithKeyValue</a></span>&#8203;(<a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&nbsp;key,
boolean&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Copy this map, associate the value with the key (replacing the value if one
 already exists for <code>key</code>), and return the copy as new immutable map.</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="ImmutableObjectBooleanMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableObjectBooleanMap</a>&lt;<a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newWithoutAllKeys(java.lang.Iterable)">newWithoutAllKeys</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;? extends <a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&gt;&nbsp;keys)</code></th>
<td class="colLast">
<div class="block">Copy this map, remove any associated values with the specified keys (if any exist),
 and return the copy as a new immutable map.</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code><a href="ImmutableObjectBooleanMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableObjectBooleanMap</a>&lt;<a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newWithoutKey(K)">newWithoutKey</a></span>&#8203;(<a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&nbsp;key)</code></th>
<td class="colLast">
<div class="block">Copy this map, remove any associated value with the key (if one exists), and
 return the copy as a new immutable map.</div>
</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code><a href="../../collection/primitive/ImmutableBooleanCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">ImmutableBooleanCollection</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reject(org.eclipse.collections.api.block.predicate.primitive.BooleanPredicate)">reject</a></span>&#8203;(<a href="../../block/predicate/primitive/BooleanPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">BooleanPredicate</a>&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Returns a new BooleanIterable with all of the elements in the BooleanIterable that
 return false for the specified predicate.</div>
</td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code><a href="ImmutableObjectBooleanMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableObjectBooleanMap</a>&lt;<a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reject(org.eclipse.collections.api.block.predicate.primitive.ObjectBooleanPredicate)">reject</a></span>&#8203;(<a href="../../block/predicate/primitive/ObjectBooleanPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">ObjectBooleanPredicate</a>&lt;? super <a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Return a copy of this map containing only the key/value pairs that do not match the
 predicate.</div>
</td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code><a href="../../collection/primitive/ImmutableBooleanCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">ImmutableBooleanCollection</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#select(org.eclipse.collections.api.block.predicate.primitive.BooleanPredicate)">select</a></span>&#8203;(<a href="../../block/predicate/primitive/BooleanPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">BooleanPredicate</a>&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Returns a new BooleanIterable with all of the elements in the BooleanIterable that
 return true for the specified predicate.</div>
</td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code><a href="ImmutableObjectBooleanMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableObjectBooleanMap</a>&lt;<a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#select(org.eclipse.collections.api.block.predicate.primitive.ObjectBooleanPredicate)">select</a></span>&#8203;(<a href="../../block/predicate/primitive/ObjectBooleanPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">ObjectBooleanPredicate</a>&lt;? super <a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Return a copy of this map containing only the key/value pairs that match the predicate.</div>
</td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>default <a href="ImmutableObjectBooleanMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableObjectBooleanMap</a>&lt;<a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#tap(org.eclipse.collections.api.block.procedure.primitive.BooleanProcedure)">tap</a></span>&#8203;(<a href="../../block/procedure/primitive/BooleanProcedure.html" title="interface in org.eclipse.collections.api.block.procedure.primitive">BooleanProcedure</a>&nbsp;procedure)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;org.eclipse.collections.api.<a href="../../BooleanIterable.html" title="interface in org.eclipse.collections.api">BooleanIterable</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.BooleanIterable">
<!--   -->
</a><code><a href="../../BooleanIterable.html#allSatisfy(org.eclipse.collections.api.block.predicate.primitive.BooleanPredicate)">allSatisfy</a>, <a href="../../BooleanIterable.html#anySatisfy(org.eclipse.collections.api.block.predicate.primitive.BooleanPredicate)">anySatisfy</a>, <a href="../../BooleanIterable.html#asLazy()">asLazy</a>, <a href="../../BooleanIterable.html#booleanIterator()">booleanIterator</a>, <a href="../../BooleanIterable.html#chunk(int)">chunk</a>, <a href="../../BooleanIterable.html#collect(org.eclipse.collections.api.block.function.primitive.BooleanToObjectFunction,R)">collect</a>, <a href="../../BooleanIterable.html#collectBoolean(org.eclipse.collections.api.block.function.primitive.BooleanToBooleanFunction,R)">collectBoolean</a>, <a href="../../BooleanIterable.html#collectByte(org.eclipse.collections.api.block.function.primitive.BooleanToByteFunction,R)">collectByte</a>, <a href="../../BooleanIterable.html#collectChar(org.eclipse.collections.api.block.function.primitive.BooleanToCharFunction,R)">collectChar</a>, <a href="../../BooleanIterable.html#collectDouble(org.eclipse.collections.api.block.function.primitive.BooleanToDoubleFunction,R)">collectDouble</a>, <a href="../../BooleanIterable.html#collectFloat(org.eclipse.collections.api.block.function.primitive.BooleanToFloatFunction,R)">collectFloat</a>, <a href="../../BooleanIterable.html#collectInt(org.eclipse.collections.api.block.function.primitive.BooleanToIntFunction,R)">collectInt</a>, <a href="../../BooleanIterable.html#collectLong(org.eclipse.collections.api.block.function.primitive.BooleanToLongFunction,R)">collectLong</a>, <a href="../../BooleanIterable.html#collectShort(org.eclipse.collections.api.block.function.primitive.BooleanToShortFunction,R)">collectShort</a>, <a href="../../BooleanIterable.html#contains(boolean)">contains</a>, <a href="../../BooleanIterable.html#containsAll(boolean...)">containsAll</a>, <a href="../../BooleanIterable.html#containsAll(org.eclipse.collections.api.BooleanIterable)">containsAll</a>, <a href="../../BooleanIterable.html#count(org.eclipse.collections.api.block.predicate.primitive.BooleanPredicate)">count</a>, <a href="../../BooleanIterable.html#detectIfNone(org.eclipse.collections.api.block.predicate.primitive.BooleanPredicate,boolean)">detectIfNone</a>, <a href="../../BooleanIterable.html#each(org.eclipse.collections.api.block.procedure.primitive.BooleanProcedure)">each</a>, <a href="../../BooleanIterable.html#flatCollect(org.eclipse.collections.api.block.function.primitive.BooleanToObjectFunction,R)">flatCollect</a>, <a href="../../BooleanIterable.html#forEach(org.eclipse.collections.api.block.procedure.primitive.BooleanProcedure)">forEach</a>, <a href="../../BooleanIterable.html#injectInto(T,org.eclipse.collections.api.block.function.primitive.ObjectBooleanToObjectFunction)">injectInto</a>, <a href="../../BooleanIterable.html#noneSatisfy(org.eclipse.collections.api.block.predicate.primitive.BooleanPredicate)">noneSatisfy</a>, <a href="../../BooleanIterable.html#reduce(org.eclipse.collections.api.block.function.primitive.BooleanBooleanToBooleanFunction)">reduce</a>, <a href="../../BooleanIterable.html#reduceIfEmpty(org.eclipse.collections.api.block.function.primitive.BooleanBooleanToBooleanFunction,boolean)">reduceIfEmpty</a>, <a href="../../BooleanIterable.html#reject(org.eclipse.collections.api.block.predicate.primitive.BooleanPredicate,R)">reject</a>, <a href="../../BooleanIterable.html#select(org.eclipse.collections.api.block.predicate.primitive.BooleanPredicate,R)">select</a>, <a href="../../BooleanIterable.html#toArray()">toArray</a>, <a href="../../BooleanIterable.html#toArray(boolean%5B%5D)">toArray</a>, <a href="../../BooleanIterable.html#toBag()">toBag</a>, <a href="../../BooleanIterable.html#toList()">toList</a>, <a href="../../BooleanIterable.html#toSet()">toSet</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;org.eclipse.collections.api.map.primitive.<a href="ObjectBooleanMap.html" title="interface in org.eclipse.collections.api.map.primitive">ObjectBooleanMap</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.map.primitive.ObjectBooleanMap">
<!--   -->
</a><code><a href="ObjectBooleanMap.html#containsKey(java.lang.Object)">containsKey</a>, <a href="ObjectBooleanMap.html#containsValue(boolean)">containsValue</a>, <a href="ObjectBooleanMap.html#forEachKey(org.eclipse.collections.api.block.procedure.Procedure)">forEachKey</a>, <a href="ObjectBooleanMap.html#forEachKeyValue(org.eclipse.collections.api.block.procedure.primitive.ObjectBooleanProcedure)">forEachKeyValue</a>, <a href="ObjectBooleanMap.html#forEachValue(org.eclipse.collections.api.block.procedure.primitive.BooleanProcedure)">forEachValue</a>, <a href="ObjectBooleanMap.html#get(java.lang.Object)">get</a>, <a href="ObjectBooleanMap.html#getIfAbsent(java.lang.Object,boolean)">getIfAbsent</a>, <a href="ObjectBooleanMap.html#getOrThrow(java.lang.Object)">getOrThrow</a>, <a href="ObjectBooleanMap.html#keySet()">keySet</a>, <a href="ObjectBooleanMap.html#keysView()">keysView</a>, <a href="ObjectBooleanMap.html#keyValuesView()">keyValuesView</a>, <a href="ObjectBooleanMap.html#toImmutable()">toImmutable</a>, <a href="ObjectBooleanMap.html#toString()">toString</a>, <a href="ObjectBooleanMap.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="select(org.eclipse.collections.api.block.predicate.primitive.ObjectBooleanPredicate)">select</a></h3>
<div class="memberSignature"><span class="returnType"><a href="ImmutableObjectBooleanMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableObjectBooleanMap</a>&lt;<a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&gt;</span>&nbsp;<span class="memberName">select</span>&#8203;(<span class="arguments"><a href="../../block/predicate/primitive/ObjectBooleanPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">ObjectBooleanPredicate</a>&lt;? super <a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="ObjectBooleanMap.html#select(org.eclipse.collections.api.block.predicate.primitive.ObjectBooleanPredicate)">ObjectBooleanMap</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="ObjectBooleanMap.html#select(org.eclipse.collections.api.block.predicate.primitive.ObjectBooleanPredicate)">select</a></code>&nbsp;in interface&nbsp;<code><a href="ObjectBooleanMap.html" title="interface in org.eclipse.collections.api.map.primitive">ObjectBooleanMap</a>&lt;<a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>predicate</code> - the predicate to determine which key/value pairs in this map should be
 included in the returned map</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a copy of this map with the matching key/value pairs</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="reject(org.eclipse.collections.api.block.predicate.primitive.ObjectBooleanPredicate)">reject</a></h3>
<div class="memberSignature"><span class="returnType"><a href="ImmutableObjectBooleanMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableObjectBooleanMap</a>&lt;<a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&gt;</span>&nbsp;<span class="memberName">reject</span>&#8203;(<span class="arguments"><a href="../../block/predicate/primitive/ObjectBooleanPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">ObjectBooleanPredicate</a>&lt;? super <a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="ObjectBooleanMap.html#reject(org.eclipse.collections.api.block.predicate.primitive.ObjectBooleanPredicate)">ObjectBooleanMap</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="ObjectBooleanMap.html#reject(org.eclipse.collections.api.block.predicate.primitive.ObjectBooleanPredicate)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="ObjectBooleanMap.html" title="interface in org.eclipse.collections.api.map.primitive">ObjectBooleanMap</a>&lt;<a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>predicate</code> - the predicate to determine which key/value pairs in this map should be
 excluded from the returned map</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a copy of this map without the matching key/value pairs</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="select(org.eclipse.collections.api.block.predicate.primitive.BooleanPredicate)">select</a></h3>
<div class="memberSignature"><span class="returnType"><a href="../../collection/primitive/ImmutableBooleanCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">ImmutableBooleanCollection</a></span>&nbsp;<span class="memberName">select</span>&#8203;(<span class="arguments"><a href="../../block/predicate/primitive/BooleanPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">BooleanPredicate</a>&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../BooleanIterable.html#select(org.eclipse.collections.api.block.predicate.primitive.BooleanPredicate)">BooleanIterable</a></code></span></div>
<div class="block">Returns a new BooleanIterable with all of the elements in the BooleanIterable that
 return true for the specified predicate.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../BooleanIterable.html#select(org.eclipse.collections.api.block.predicate.primitive.BooleanPredicate)">select</a></code>&nbsp;in interface&nbsp;<code><a href="../../BooleanIterable.html" title="interface in org.eclipse.collections.api">BooleanIterable</a></code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="reject(org.eclipse.collections.api.block.predicate.primitive.BooleanPredicate)">reject</a></h3>
<div class="memberSignature"><span class="returnType"><a href="../../collection/primitive/ImmutableBooleanCollection.html" title="interface in org.eclipse.collections.api.collection.primitive">ImmutableBooleanCollection</a></span>&nbsp;<span class="memberName">reject</span>&#8203;(<span class="arguments"><a href="../../block/predicate/primitive/BooleanPredicate.html" title="interface in org.eclipse.collections.api.block.predicate.primitive">BooleanPredicate</a>&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../BooleanIterable.html#reject(org.eclipse.collections.api.block.predicate.primitive.BooleanPredicate)">BooleanIterable</a></code></span></div>
<div class="block">Returns a new BooleanIterable with all of the elements in the BooleanIterable that
 return false for the specified predicate.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../BooleanIterable.html#reject(org.eclipse.collections.api.block.predicate.primitive.BooleanPredicate)">reject</a></code>&nbsp;in interface&nbsp;<code><a href="../../BooleanIterable.html" title="interface in org.eclipse.collections.api">BooleanIterable</a></code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="tap(org.eclipse.collections.api.block.procedure.primitive.BooleanProcedure)">tap</a></h3>
<div class="memberSignature"><span class="modifiers">default</span>&nbsp;<span class="returnType"><a href="ImmutableObjectBooleanMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableObjectBooleanMap</a>&lt;<a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&gt;</span>&nbsp;<span class="memberName">tap</span>&#8203;(<span class="arguments"><a href="../../block/procedure/primitive/BooleanProcedure.html" title="interface in org.eclipse.collections.api.block.procedure.primitive">BooleanProcedure</a>&nbsp;procedure)</span></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../BooleanIterable.html#tap(org.eclipse.collections.api.block.procedure.primitive.BooleanProcedure)">tap</a></code>&nbsp;in interface&nbsp;<code><a href="../../BooleanIterable.html" title="interface in org.eclipse.collections.api">BooleanIterable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ObjectBooleanMap.html#tap(org.eclipse.collections.api.block.procedure.primitive.BooleanProcedure)">tap</a></code>&nbsp;in interface&nbsp;<code><a href="ObjectBooleanMap.html" title="interface in org.eclipse.collections.api.map.primitive">ObjectBooleanMap</a>&lt;<a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&gt;</code></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>9.0.</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="collect(org.eclipse.collections.api.block.function.primitive.BooleanToObjectFunction)">collect</a></h3>
<div class="memberSignature"><span class="typeParameters">&lt;V&gt;</span>&nbsp;<span class="returnType"><a href="../../collection/ImmutableCollection.html" title="interface in org.eclipse.collections.api.collection">ImmutableCollection</a>&lt;V&gt;</span>&nbsp;<span class="memberName">collect</span>&#8203;(<span class="arguments"><a href="../../block/function/primitive/BooleanToObjectFunction.html" title="interface in org.eclipse.collections.api.block.function.primitive">BooleanToObjectFunction</a>&lt;? extends V&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../BooleanIterable.html#collect(org.eclipse.collections.api.block.function.primitive.BooleanToObjectFunction)">BooleanIterable</a></code></span></div>
<div class="block">Returns a new collection with the results of applying the specified function on each element of the source
 collection.  This method is also commonly called transform or map.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../BooleanIterable.html#collect(org.eclipse.collections.api.block.function.primitive.BooleanToObjectFunction)">collect</a></code>&nbsp;in interface&nbsp;<code><a href="../../BooleanIterable.html" title="interface in org.eclipse.collections.api">BooleanIterable</a></code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="newWithKeyValue(java.lang.Object,boolean)">
<!--   -->
</a><a id="newWithKeyValue(K,boolean)">newWithKeyValue</a></h3>
<div class="memberSignature"><span class="returnType"><a href="ImmutableObjectBooleanMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableObjectBooleanMap</a>&lt;<a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&gt;</span>&nbsp;<span class="memberName">newWithKeyValue</span>&#8203;(<span class="arguments"><a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&nbsp;key,
boolean&nbsp;value)</span></div>
<div class="block">Copy this map, associate the value with the key (replacing the value if one
 already exists for <code>key</code>), and return the copy as new immutable map.
 A copy is always made even if <code>key</code> is already associated with <code>value</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>key</code> - the key to add</dd>
<dd><code>value</code> - the value to associate with the key in the copy</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an immutable copy of this map with <code>value</code> associated with <code>key</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="newWithoutKey(java.lang.Object)">
<!--   -->
</a><a id="newWithoutKey(K)">newWithoutKey</a></h3>
<div class="memberSignature"><span class="returnType"><a href="ImmutableObjectBooleanMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableObjectBooleanMap</a>&lt;<a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&gt;</span>&nbsp;<span class="memberName">newWithoutKey</span>&#8203;(<span class="arguments"><a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&nbsp;key)</span></div>
<div class="block">Copy this map, remove any associated value with the key (if one exists), and
 return the copy as a new immutable 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>an immutable copy of this map with <code>key</code> removed</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="newWithoutAllKeys(java.lang.Iterable)">newWithoutAllKeys</a></h3>
<div class="memberSignature"><span class="returnType"><a href="ImmutableObjectBooleanMap.html" title="interface in org.eclipse.collections.api.map.primitive">ImmutableObjectBooleanMap</a>&lt;<a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&gt;</span>&nbsp;<span class="memberName">newWithoutAllKeys</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;? extends <a href="ImmutableObjectBooleanMap.html" title="type parameter in ImmutableObjectBooleanMap">K</a>&gt;&nbsp;keys)</span></div>
<div class="block">Copy this map, remove any associated values with the specified keys (if any exist),
 and return the copy as a new immutable 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>an immutable copy of this map with all keys in <code>keys</code> removed</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/ImmutableObjectBooleanMap.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>
