<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.2) on Thu Aug 20 21:25:36 CDT 2020 -->
<title>SynchronizedPutUnifiedSetMultimap (Eclipse Collections - 10.4.0)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2020-08-20">
<meta name="description" content="declaration: package: org.eclipse.collections.impl.multimap.set, class: SynchronizedPutUnifiedSetMultimap">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete 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/SynchronizedPutUnifiedSetMultimap.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!--   -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.eclipse.collections.impl.multimap.set</a></div>
<h1 title="Class SynchronizedPutUnifiedSetMultimap" class="title">Class SynchronizedPutUnifiedSetMultimap&lt;K,&#8203;V&gt;</h1>
</div>
<div class="contentContainer">
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a>
<div class="inheritance"><a href="../AbstractMultimap.html" title="class in org.eclipse.collections.impl.multimap">org.eclipse.collections.impl.multimap.AbstractMultimap</a>&lt;K,&#8203;V,&#8203;C&gt;
<div class="inheritance"><a href="../AbstractMutableMultimap.html" title="class in org.eclipse.collections.impl.multimap">org.eclipse.collections.impl.multimap.AbstractMutableMultimap</a>&lt;K,&#8203;V,&#8203;C&gt;
<div class="inheritance"><a href="../AbstractSynchronizedPutMultimap.html" title="class in org.eclipse.collections.impl.multimap">org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap</a>&lt;K,&#8203;V,&#8203;<a href="../../../api/set/MutableSet.html" title="interface in org.eclipse.collections.api.set">MutableSet</a>&lt;V&gt;&gt;
<div class="inheritance">org.eclipse.collections.impl.multimap.set.SynchronizedPutUnifiedSetMultimap&lt;K,&#8203;V&gt;</div>
</div>
</div>
</div>
</div>
<section class="description">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io" class="externalLink">Externalizable</a></code>, <code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code><a href="../../../api/multimap/Multimap.html" title="interface in org.eclipse.collections.api.multimap">Multimap</a>&lt;K,&#8203;V&gt;</code>, <code><a href="../../../api/multimap/MutableMultimap.html" title="interface in org.eclipse.collections.api.multimap">MutableMultimap</a>&lt;K,&#8203;V&gt;</code>, <code><a href="../../../api/multimap/set/MutableSetIterableMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetIterableMultimap</a>&lt;K,&#8203;V&gt;</code>, <code><a href="../../../api/multimap/set/MutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetMultimap</a>&lt;K,&#8203;V&gt;</code>, <code><a href="../../../api/multimap/set/SetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">SetMultimap</a>&lt;K,&#8203;V&gt;</code>, <code><a href="../../../api/multimap/set/UnsortedSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">UnsortedSetMultimap</a>&lt;K,&#8203;V&gt;</code></dd>
</dl>
<hr>
<pre>public final class <span class="typeNameLabel">SynchronizedPutUnifiedSetMultimap&lt;K,&#8203;V&gt;</span>
extends <a href="../AbstractSynchronizedPutMultimap.html" title="class in org.eclipse.collections.impl.multimap">AbstractSynchronizedPutMultimap</a>&lt;K,&#8203;V,&#8203;<a href="../../../api/set/MutableSet.html" title="interface in org.eclipse.collections.api.set">MutableSet</a>&lt;V&gt;&gt;
implements <a href="../../../api/multimap/set/MutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetMultimap</a>&lt;K,&#8203;V&gt;, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io" class="externalLink">Externalizable</a></pre>
<div class="block">A Multimap that is optimized for parallel writes, but is not protected for concurrent reads.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../serialized-form.html#org.eclipse.collections.impl.multimap.set.SynchronizedPutUnifiedSetMultimap">Serialized Form</a></dd>
</dl>
</section>
<section class="summary">
<ul class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!--   -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">SynchronizedPutUnifiedSetMultimap</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(int)">SynchronizedPutUnifiedSetMultimap</a></span>&#8203;(int&nbsp;initialCapacity)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.Iterable)">SynchronizedPutUnifiedSetMultimap</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="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;&gt;&nbsp;inputIterable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.eclipse.collections.api.multimap.Multimap)">SynchronizedPutUnifiedSetMultimap</a></span>&#8203;(<a href="../../../api/multimap/Multimap.html" title="interface in org.eclipse.collections.api.multimap">Multimap</a>&lt;? extends <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;? extends <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;&nbsp;multimap)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.eclipse.collections.api.tuple.Pair...)">SynchronizedPutUnifiedSetMultimap</a></span>&#8203;(<a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;...&nbsp;pairs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!--   -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t1" class="tableTab" onclick="show(1);">Static Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></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><a href="../../../api/multimap/set/MutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#asSynchronized()">asSynchronized</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a synchronized wrapper backed by this multimap.</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>&lt;K2,&#8203;
V2&gt;&nbsp;<a href="../../../api/multimap/bag/MutableBagMultimap.html" title="interface in org.eclipse.collections.api.multimap.bag">MutableBagMultimap</a>&lt;K2,&#8203;V2&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectKeyMultiValues(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">collectKeyMultiValues</a></span>&#8203;(<a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;? extends K2&gt;&nbsp;keyFunction,
<a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>,&#8203;? extends V2&gt;&nbsp;valueFunction)</code></th>
<td class="colLast">
<div class="block">Returns a new multimap with the results of applying the specified keyFunction and valueFunction on each key and corresponding values of the source multimap.</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>&lt;K2,&#8203;
V2&gt;&nbsp;<a href="../../../api/multimap/bag/MutableBagMultimap.html" title="interface in org.eclipse.collections.api.multimap.bag">MutableBagMultimap</a>&lt;K2,&#8203;V2&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectKeysValues(org.eclipse.collections.api.block.function.Function2)">collectKeysValues</a></span>&#8203;(<a href="../../../api/block/function/Function2.html" title="interface in org.eclipse.collections.api.block.function">Function2</a>&lt;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>,&#8203;<a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;K2,&#8203;V2&gt;&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Returns a new multimap with the results of applying the specified function on each key and value of the source
 multimap.</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>&lt;V2&gt;&nbsp;<a href="../../../api/multimap/bag/MutableBagMultimap.html" title="interface in org.eclipse.collections.api.multimap.bag">MutableBagMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;V2&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#collectValues(org.eclipse.collections.api.block.function.Function)">collectValues</a></span>&#8203;(<a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>,&#8203;? extends V2&gt;&nbsp;function)</code></th>
<td class="colLast">
<div class="block">Returns a new multimap with the results of applying the specified function on each value of the source
 multimap.</div>
</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code><a href="../../../api/multimap/set/MutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#flip()">flip</a></span>()</code></th>
<td class="colLast">
<div class="block">Given a Multimap from Domain <code>-&gt;</code> Range return a multimap from Range <code>-&gt;</code> Domain.</div>
</td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code><a href="SynchronizedPutUnifiedSetMultimap.html" title="class in org.eclipse.collections.impl.multimap.set">SynchronizedPutUnifiedSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newEmpty()">newEmpty</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates a new instance of the same implementation type, using the default capacity and growth parameters.</div>
</td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>static &lt;K,&#8203;
V&gt;&nbsp;<a href="SynchronizedPutUnifiedSetMultimap.html" title="class in org.eclipse.collections.impl.multimap.set">SynchronizedPutUnifiedSetMultimap</a>&lt;K,&#8203;V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newMultimap()">newMultimap</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>static &lt;K,&#8203;
V&gt;&nbsp;<a href="SynchronizedPutUnifiedSetMultimap.html" title="class in org.eclipse.collections.impl.multimap.set">SynchronizedPutUnifiedSetMultimap</a>&lt;K,&#8203;V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newMultimap(int,float,int)">newMultimap</a></span>&#8203;(int&nbsp;initialCapacity,
float&nbsp;loadFactor,
int&nbsp;concurrencyLevel)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>static &lt;K,&#8203;
V&gt;&nbsp;<a href="SynchronizedPutUnifiedSetMultimap.html" title="class in org.eclipse.collections.impl.multimap.set">SynchronizedPutUnifiedSetMultimap</a>&lt;K,&#8203;V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newMultimap(java.lang.Iterable)">newMultimap</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="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;K,&#8203;V&gt;&gt;&nbsp;inputIterable)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>static &lt;K,&#8203;
V&gt;&nbsp;<a href="SynchronizedPutUnifiedSetMultimap.html" title="class in org.eclipse.collections.impl.multimap.set">SynchronizedPutUnifiedSetMultimap</a>&lt;K,&#8203;V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newMultimap(org.eclipse.collections.api.multimap.Multimap)">newMultimap</a></span>&#8203;(<a href="../../../api/multimap/Multimap.html" title="interface in org.eclipse.collections.api.multimap">Multimap</a>&lt;? extends K,&#8203;? extends V&gt;&nbsp;multimap)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>static &lt;K,&#8203;
V&gt;&nbsp;<a href="SynchronizedPutUnifiedSetMultimap.html" title="class in org.eclipse.collections.impl.multimap.set">SynchronizedPutUnifiedSetMultimap</a>&lt;K,&#8203;V&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#newMultimap(org.eclipse.collections.api.tuple.Pair...)">newMultimap</a></span>&#8203;(<a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;K,&#8203;V&gt;...&nbsp;pairs)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code><a href="UnifiedSetMultimap.html" title="class in org.eclipse.collections.impl.multimap.set">UnifiedSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rejectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2)">rejectKeysMultiValues</a></span>&#8203;(<a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate2</a>&lt;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;? super <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="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Returns all elements of the source multimap that don't satisfy the predicate.</div>
</td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code><a href="UnifiedSetMultimap.html" title="class in org.eclipse.collections.impl.multimap.set">UnifiedSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rejectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2)">rejectKeysValues</a></span>&#8203;(<a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate2</a>&lt;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Returns all elements of the source multimap that don't satisfy the predicate.</div>
</td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code><a href="UnifiedSetMultimap.html" title="class in org.eclipse.collections.impl.multimap.set">UnifiedSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#selectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2)">selectKeysMultiValues</a></span>&#8203;(<a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate2</a>&lt;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;? super <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="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Returns all elements of the source multimap that satisfies the predicate.</div>
</td>
</tr>
<tr class="altColor" id="i14">
<td class="colFirst"><code><a href="UnifiedSetMultimap.html" title="class in org.eclipse.collections.impl.multimap.set">UnifiedSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#selectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2)">selectKeysValues</a></span>&#8203;(<a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate2</a>&lt;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;&nbsp;predicate)</code></th>
<td class="colLast">
<div class="block">Returns all elements of the source multimap that satisfies the predicate.</div>
</td>
</tr>
<tr class="rowColor" id="i15">
<td class="colFirst"><code><a href="../../../api/multimap/set/ImmutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">ImmutableSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toImmutable()">toImmutable</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns an immutable copy of this Multimap <em>if it is not already immutable</em>.</div>
</td>
</tr>
<tr class="altColor" id="i16">
<td class="colFirst"><code><a href="../../../api/multimap/set/MutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toMutable()">toMutable</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a mutable <em>copy</em> of this Multimap.</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;org.eclipse.collections.impl.multimap.<a href="../AbstractSynchronizedPutMultimap.html" title="class in org.eclipse.collections.impl.multimap">AbstractSynchronizedPutMultimap</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.impl.multimap.AbstractSynchronizedPutMultimap">
<!--   -->
</a><code><a href="../AbstractSynchronizedPutMultimap.html#getIfAbsentPutAll(K,java.lang.Iterable)">getIfAbsentPutAll</a>, <a href="../AbstractSynchronizedPutMultimap.html#put(K,V)">put</a>, <a href="../AbstractSynchronizedPutMultimap.html#size()">size</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;org.eclipse.collections.impl.multimap.<a href="../AbstractMutableMultimap.html" title="class in org.eclipse.collections.impl.multimap">AbstractMutableMultimap</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.impl.multimap.AbstractMutableMultimap">
<!--   -->
</a><code><a href="../AbstractMutableMultimap.html#clear()">clear</a>, <a href="../AbstractMutableMultimap.html#get(K)">get</a>, <a href="../AbstractMutableMultimap.html#isEmpty()">isEmpty</a>, <a href="../AbstractMutableMultimap.html#keySet()">keySet</a>, <a href="../AbstractMutableMultimap.html#putAll(K,java.lang.Iterable)">putAll</a>, <a href="../AbstractMutableMultimap.html#putAll(org.eclipse.collections.api.multimap.Multimap)">putAll</a>, <a href="../AbstractMutableMultimap.html#readExternal(java.io.ObjectInput)">readExternal</a>, <a href="../AbstractMutableMultimap.html#remove(java.lang.Object,java.lang.Object)">remove</a>, <a href="../AbstractMutableMultimap.html#removeAll(java.lang.Object)">removeAll</a>, <a href="../AbstractMutableMultimap.html#replaceValues(K,java.lang.Iterable)">replaceValues</a>, <a href="../AbstractMutableMultimap.html#sizeDistinct()">sizeDistinct</a>, <a href="../AbstractMutableMultimap.html#toMap()">toMap</a>, <a href="../AbstractMutableMultimap.html#toMap(org.eclipse.collections.api.block.function.Function0)">toMap</a>, <a href="../AbstractMutableMultimap.html#writeExternal(java.io.ObjectOutput)">writeExternal</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;org.eclipse.collections.impl.multimap.<a href="../AbstractMultimap.html" title="class in org.eclipse.collections.impl.multimap">AbstractMultimap</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.impl.multimap.AbstractMultimap">
<!--   -->
</a><code><a href="../AbstractMultimap.html#collectKeyMultiValues(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function,R)">collectKeyMultiValues</a>, <a href="../AbstractMultimap.html#collectKeysValues(org.eclipse.collections.api.block.function.Function2,R)">collectKeysValues</a>, <a href="../AbstractMultimap.html#collectValues(org.eclipse.collections.api.block.function.Function,R)">collectValues</a>, <a href="../AbstractMultimap.html#containsKey(java.lang.Object)">containsKey</a>, <a href="../AbstractMultimap.html#containsKeyAndValue(java.lang.Object,java.lang.Object)">containsKeyAndValue</a>, <a href="../AbstractMultimap.html#containsValue(java.lang.Object)">containsValue</a>, <a href="../AbstractMultimap.html#equals(java.lang.Object)">equals</a>, <a href="../AbstractMultimap.html#forEachKey(org.eclipse.collections.api.block.procedure.Procedure)">forEachKey</a>, <a href="../AbstractMultimap.html#forEachKeyMultiValues(org.eclipse.collections.api.block.procedure.Procedure2)">forEachKeyMultiValues</a>, <a href="../AbstractMultimap.html#forEachKeyValue(org.eclipse.collections.api.block.procedure.Procedure2)">forEachKeyValue</a>, <a href="../AbstractMultimap.html#forEachValue(org.eclipse.collections.api.block.procedure.Procedure)">forEachValue</a>, <a href="../AbstractMultimap.html#hashCode()">hashCode</a>, <a href="../AbstractMultimap.html#keyBag()">keyBag</a>, <a href="../AbstractMultimap.html#keyMultiValuePairsView()">keyMultiValuePairsView</a>, <a href="../AbstractMultimap.html#keysView()">keysView</a>, <a href="../AbstractMultimap.html#keyValuePairsView()">keyValuePairsView</a>, <a href="../AbstractMultimap.html#multiValuesView()">multiValuesView</a>, <a href="../AbstractMultimap.html#notEmpty()">notEmpty</a>, <a href="../AbstractMultimap.html#rejectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2,R)">rejectKeysMultiValues</a>, <a href="../AbstractMultimap.html#rejectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2,R)">rejectKeysValues</a>, <a href="../AbstractMultimap.html#selectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2,R)">selectKeysMultiValues</a>, <a href="../AbstractMultimap.html#selectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2,R)">selectKeysValues</a>, <a href="../AbstractMultimap.html#toString()">toString</a>, <a href="../AbstractMultimap.html#valuesView()">valuesView</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<a id="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;java.io.<a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io" class="externalLink">Externalizable</a></h3>
<a id="methods.inherited.from.class.java.io.Externalizable">
<!--   -->
</a><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#readExternal(java.io.ObjectInput)" title="class or interface in java.io" class="externalLink">readExternal</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#writeExternal(java.io.ObjectOutput)" title="class or interface in java.io" class="externalLink">writeExternal</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;org.eclipse.collections.api.multimap.<a href="../../../api/multimap/Multimap.html" title="interface in org.eclipse.collections.api.multimap">Multimap</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.multimap.Multimap">
<!--   -->
</a><code><a href="../../../api/multimap/Multimap.html#collectKeyMultiValues(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function,R)">collectKeyMultiValues</a>, <a href="../../../api/multimap/Multimap.html#collectKeysValues(org.eclipse.collections.api.block.function.Function2,R)">collectKeysValues</a>, <a href="../../../api/multimap/Multimap.html#collectValues(org.eclipse.collections.api.block.function.Function,R)">collectValues</a>, <a href="../../../api/multimap/Multimap.html#containsKey(java.lang.Object)">containsKey</a>, <a href="../../../api/multimap/Multimap.html#containsKeyAndValue(java.lang.Object,java.lang.Object)">containsKeyAndValue</a>, <a href="../../../api/multimap/Multimap.html#containsValue(java.lang.Object)">containsValue</a>, <a href="../../../api/multimap/Multimap.html#equals(java.lang.Object)">equals</a>, <a href="../../../api/multimap/Multimap.html#forEachKey(org.eclipse.collections.api.block.procedure.Procedure)">forEachKey</a>, <a href="../../../api/multimap/Multimap.html#forEachKeyMultiValues(org.eclipse.collections.api.block.procedure.Procedure2)">forEachKeyMultiValues</a>, <a href="../../../api/multimap/Multimap.html#forEachKeyValue(org.eclipse.collections.api.block.procedure.Procedure2)">forEachKeyValue</a>, <a href="../../../api/multimap/Multimap.html#forEachValue(org.eclipse.collections.api.block.procedure.Procedure)">forEachValue</a>, <a href="../../../api/multimap/Multimap.html#hashCode()">hashCode</a>, <a href="../../../api/multimap/Multimap.html#isEmpty()">isEmpty</a>, <a href="../../../api/multimap/Multimap.html#keyBag()">keyBag</a>, <a href="../../../api/multimap/Multimap.html#keyMultiValuePairsView()">keyMultiValuePairsView</a>, <a href="../../../api/multimap/Multimap.html#keySet()">keySet</a>, <a href="../../../api/multimap/Multimap.html#keysView()">keysView</a>, <a href="../../../api/multimap/Multimap.html#keyValuePairsView()">keyValuePairsView</a>, <a href="../../../api/multimap/Multimap.html#multiValuesView()">multiValuesView</a>, <a href="../../../api/multimap/Multimap.html#notEmpty()">notEmpty</a>, <a href="../../../api/multimap/Multimap.html#rejectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2,R)">rejectKeysMultiValues</a>, <a href="../../../api/multimap/Multimap.html#rejectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2,R)">rejectKeysValues</a>, <a href="../../../api/multimap/Multimap.html#selectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2,R)">selectKeysMultiValues</a>, <a href="../../../api/multimap/Multimap.html#selectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2,R)">selectKeysValues</a>, <a href="../../../api/multimap/Multimap.html#size()">size</a>, <a href="../../../api/multimap/Multimap.html#sizeDistinct()">sizeDistinct</a>, <a href="../../../api/multimap/Multimap.html#toMap()">toMap</a>, <a href="../../../api/multimap/Multimap.html#toMap(org.eclipse.collections.api.block.function.Function0)">toMap</a>, <a href="../../../api/multimap/Multimap.html#valuesView()">valuesView</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;org.eclipse.collections.api.multimap.<a href="../../../api/multimap/MutableMultimap.html" title="interface in org.eclipse.collections.api.multimap">MutableMultimap</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.multimap.MutableMultimap">
<!--   -->
</a><code><a href="../../../api/multimap/MutableMultimap.html#add(org.eclipse.collections.api.tuple.Pair)">add</a>, <a href="../../../api/multimap/MutableMultimap.html#clear()">clear</a>, <a href="../../../api/multimap/MutableMultimap.html#put(K,V)">put</a>, <a href="../../../api/multimap/MutableMultimap.html#putAll(K,java.lang.Iterable)">putAll</a>, <a href="../../../api/multimap/MutableMultimap.html#putAll(org.eclipse.collections.api.multimap.Multimap)">putAll</a>, <a href="../../../api/multimap/MutableMultimap.html#putAllPairs(java.lang.Iterable)">putAllPairs</a>, <a href="../../../api/multimap/MutableMultimap.html#putAllPairs(org.eclipse.collections.api.tuple.Pair...)">putAllPairs</a>, <a href="../../../api/multimap/MutableMultimap.html#remove(java.lang.Object,java.lang.Object)">remove</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from interface&nbsp;org.eclipse.collections.api.multimap.set.<a href="../../../api/multimap/set/MutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetMultimap</a></h3>
<a id="methods.inherited.from.class.org.eclipse.collections.api.multimap.set.MutableSetMultimap">
<!--   -->
</a><code><a href="../../../api/multimap/set/MutableSetMultimap.html#get(K)">get</a>, <a href="../../../api/multimap/set/MutableSetMultimap.html#getIfAbsentPutAll(K,java.lang.Iterable)">getIfAbsentPutAll</a>, <a href="../../../api/multimap/set/MutableSetMultimap.html#removeAll(java.lang.Object)">removeAll</a>, <a href="../../../api/multimap/set/MutableSetMultimap.html#replaceValues(K,java.lang.Iterable)">replaceValues</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!--   -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;()">SynchronizedPutUnifiedSetMultimap</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">SynchronizedPutUnifiedSetMultimap</span>()</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(int)">SynchronizedPutUnifiedSetMultimap</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">SynchronizedPutUnifiedSetMultimap</span>&#8203;(<span class="arguments">int&nbsp;initialCapacity)</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(org.eclipse.collections.api.multimap.Multimap)">SynchronizedPutUnifiedSetMultimap</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">SynchronizedPutUnifiedSetMultimap</span>&#8203;(<span class="arguments"><a href="../../../api/multimap/Multimap.html" title="interface in org.eclipse.collections.api.multimap">Multimap</a>&lt;? extends <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;? extends <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;&nbsp;multimap)</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(org.eclipse.collections.api.tuple.Pair...)">SynchronizedPutUnifiedSetMultimap</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">SynchronizedPutUnifiedSetMultimap</span>&#8203;(<span class="arguments"><a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;...&nbsp;pairs)</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(java.lang.Iterable)">SynchronizedPutUnifiedSetMultimap</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">SynchronizedPutUnifiedSetMultimap</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="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;&gt;&nbsp;inputIterable)</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!--   -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="newMultimap()">newMultimap</a></h3>
<div class="memberSignature"><span class="modifiers">public static</span>&nbsp;<span class="typeParameters">&lt;K,&#8203;
V&gt;</span>
<span class="returnType"><a href="SynchronizedPutUnifiedSetMultimap.html" title="class in org.eclipse.collections.impl.multimap.set">SynchronizedPutUnifiedSetMultimap</a>&lt;K,&#8203;V&gt;</span>&nbsp;<span class="memberName">newMultimap</span>()</div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="newMultimap(int,float,int)">newMultimap</a></h3>
<div class="memberSignature"><span class="modifiers">public static</span>&nbsp;<span class="typeParameters">&lt;K,&#8203;
V&gt;</span>
<span class="returnType"><a href="SynchronizedPutUnifiedSetMultimap.html" title="class in org.eclipse.collections.impl.multimap.set">SynchronizedPutUnifiedSetMultimap</a>&lt;K,&#8203;V&gt;</span>&nbsp;<span class="memberName">newMultimap</span>&#8203;(<span class="arguments">int&nbsp;initialCapacity,
float&nbsp;loadFactor,
int&nbsp;concurrencyLevel)</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="newMultimap(org.eclipse.collections.api.multimap.Multimap)">newMultimap</a></h3>
<div class="memberSignature"><span class="modifiers">public static</span>&nbsp;<span class="typeParameters">&lt;K,&#8203;
V&gt;</span>
<span class="returnType"><a href="SynchronizedPutUnifiedSetMultimap.html" title="class in org.eclipse.collections.impl.multimap.set">SynchronizedPutUnifiedSetMultimap</a>&lt;K,&#8203;V&gt;</span>&nbsp;<span class="memberName">newMultimap</span>&#8203;(<span class="arguments"><a href="../../../api/multimap/Multimap.html" title="interface in org.eclipse.collections.api.multimap">Multimap</a>&lt;? extends K,&#8203;? extends V&gt;&nbsp;multimap)</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="newMultimap(org.eclipse.collections.api.tuple.Pair...)">newMultimap</a></h3>
<div class="memberSignature"><span class="modifiers">public static</span>&nbsp;<span class="typeParameters">&lt;K,&#8203;
V&gt;</span>
<span class="returnType"><a href="SynchronizedPutUnifiedSetMultimap.html" title="class in org.eclipse.collections.impl.multimap.set">SynchronizedPutUnifiedSetMultimap</a>&lt;K,&#8203;V&gt;</span>&nbsp;<span class="memberName">newMultimap</span>&#8203;(<span class="arguments"><a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;K,&#8203;V&gt;...&nbsp;pairs)</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="newMultimap(java.lang.Iterable)">newMultimap</a></h3>
<div class="memberSignature"><span class="modifiers">public static</span>&nbsp;<span class="typeParameters">&lt;K,&#8203;
V&gt;</span>
<span class="returnType"><a href="SynchronizedPutUnifiedSetMultimap.html" title="class in org.eclipse.collections.impl.multimap.set">SynchronizedPutUnifiedSetMultimap</a>&lt;K,&#8203;V&gt;</span>&nbsp;<span class="memberName">newMultimap</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="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;K,&#8203;V&gt;&gt;&nbsp;inputIterable)</span></div>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="newEmpty()">newEmpty</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="SynchronizedPutUnifiedSetMultimap.html" title="class in org.eclipse.collections.impl.multimap.set">SynchronizedPutUnifiedSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</span>&nbsp;<span class="memberName">newEmpty</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/multimap/Multimap.html#newEmpty()">Multimap</a></code></span></div>
<div class="block">Creates a new instance of the same implementation type, using the default capacity and growth parameters.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/Multimap.html#newEmpty()">newEmpty</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/Multimap.html" title="interface in org.eclipse.collections.api.multimap">Multimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/MutableMultimap.html#newEmpty()">newEmpty</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/MutableMultimap.html" title="interface in org.eclipse.collections.api.multimap">MutableMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/MutableSetIterableMultimap.html#newEmpty()">newEmpty</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/MutableSetIterableMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetIterableMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/MutableSetMultimap.html#newEmpty()">newEmpty</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/MutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/SetMultimap.html#newEmpty()">newEmpty</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/SetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">SetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/UnsortedSetMultimap.html#newEmpty()">newEmpty</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/UnsortedSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">UnsortedSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toMutable()">toMutable</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/multimap/set/MutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</span>&nbsp;<span class="memberName">toMutable</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/multimap/Multimap.html#toMutable()">Multimap</a></code></span></div>
<div class="block">Returns a mutable <em>copy</em> of this Multimap.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/Multimap.html#toMutable()">toMutable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/Multimap.html" title="interface in org.eclipse.collections.api.multimap">Multimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/UnsortedSetMultimap.html#toMutable()">toMutable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/UnsortedSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">UnsortedSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="toImmutable()">toImmutable</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/multimap/set/ImmutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">ImmutableSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</span>&nbsp;<span class="memberName">toImmutable</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/multimap/Multimap.html#toImmutable()">Multimap</a></code></span></div>
<div class="block">Returns an immutable copy of this Multimap <em>if it is not already immutable</em>. If the Multimap is immutable,
 it will return itself.
 <p> The returned Multimap will be <code>Serializable</code> if this Multimap is <code>Serializable</code>.</p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/Multimap.html#toImmutable()">toImmutable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/Multimap.html" title="interface in org.eclipse.collections.api.multimap">Multimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/UnsortedSetMultimap.html#toImmutable()">toImmutable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/UnsortedSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">UnsortedSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="selectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2)">selectKeysValues</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="UnifiedSetMultimap.html" title="class in org.eclipse.collections.impl.multimap.set">UnifiedSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</span>&nbsp;<span class="memberName">selectKeysValues</span>&#8203;(<span class="arguments"><a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate2</a>&lt;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/multimap/Multimap.html#selectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2)">Multimap</a></code></span></div>
<div class="block">Returns all elements of the source multimap that satisfies the predicate. This method is also
 commonly called filter.

 <pre>e.g.
 return multimap.<b>selectKeysValues</b>(new Predicate2&lt;Integer, Person&gt;()
 {
     public boolean accept(Integer age, Person person)
     {
         return (age &gt;= 18)
                  &amp;&amp; (person.getAddress().getCity().equals("Metuchen"));
     }
 });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/Multimap.html#selectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2)">selectKeysValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/Multimap.html" title="interface in org.eclipse.collections.api.multimap">Multimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/MutableMultimap.html#selectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2)">selectKeysValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/MutableMultimap.html" title="interface in org.eclipse.collections.api.multimap">MutableMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/MutableSetIterableMultimap.html#selectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2)">selectKeysValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/MutableSetIterableMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetIterableMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/MutableSetMultimap.html#selectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2)">selectKeysValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/MutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/SetMultimap.html#selectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2)">selectKeysValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/SetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">SetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/UnsortedSetMultimap.html#selectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2)">selectKeysValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/UnsortedSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">UnsortedSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>predicate</code> - a <a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate"><code>Predicate2</code></a> to use as the select criteria</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>Multimap</code>, which contains elements as a result of the select criteria</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="rejectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2)">rejectKeysValues</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="UnifiedSetMultimap.html" title="class in org.eclipse.collections.impl.multimap.set">UnifiedSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</span>&nbsp;<span class="memberName">rejectKeysValues</span>&#8203;(<span class="arguments"><a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate2</a>&lt;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/multimap/Multimap.html#rejectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2)">Multimap</a></code></span></div>
<div class="block">Returns all elements of the source multimap that don't satisfy the predicate.

 <pre>e.g.
 return multimap.<b>rejectKeysValues</b>(new Predicate2&lt;Integer, Person&gt;()
 {
     public boolean accept(Integer age, Person person)
     {
         return (age &gt;= 18)
                  &amp;&amp; (person.getAddress().getCity().equals("Metuchen"));
     }
 });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/Multimap.html#rejectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2)">rejectKeysValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/Multimap.html" title="interface in org.eclipse.collections.api.multimap">Multimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/MutableMultimap.html#rejectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2)">rejectKeysValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/MutableMultimap.html" title="interface in org.eclipse.collections.api.multimap">MutableMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/MutableSetIterableMultimap.html#rejectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2)">rejectKeysValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/MutableSetIterableMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetIterableMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/MutableSetMultimap.html#rejectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2)">rejectKeysValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/MutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/SetMultimap.html#rejectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2)">rejectKeysValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/SetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">SetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/UnsortedSetMultimap.html#rejectKeysValues(org.eclipse.collections.api.block.predicate.Predicate2)">rejectKeysValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/UnsortedSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">UnsortedSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>predicate</code> - a <a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate"><code>Predicate2</code></a> to use as the reject criteria</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>Multimap</code>, which contains elements that don't satisfy the <code>predicate</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="selectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2)">selectKeysMultiValues</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="UnifiedSetMultimap.html" title="class in org.eclipse.collections.impl.multimap.set">UnifiedSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</span>&nbsp;<span class="memberName">selectKeysMultiValues</span>&#8203;(<span class="arguments"><a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate2</a>&lt;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;? super <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="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/multimap/Multimap.html#selectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2)">Multimap</a></code></span></div>
<div class="block">Returns all elements of the source multimap that satisfies the predicate. This method is also
 commonly called filter.

 <pre>e.g.
 return multimap.<b>selectKeysMultiValues</b>(new Predicate2&lt;Integer, Iterable&lt;Person&gt;&gt;()
 {
     public boolean accept(Integer age, Iterable&lt;Person&gt; values)
     {
         return (age &gt;= 18)
                  &amp;&amp; ((RichIterable&lt;Person&gt;)values.size() &gt;= 2);
     }
 });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/Multimap.html#selectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2)">selectKeysMultiValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/Multimap.html" title="interface in org.eclipse.collections.api.multimap">Multimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/MutableMultimap.html#selectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2)">selectKeysMultiValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/MutableMultimap.html" title="interface in org.eclipse.collections.api.multimap">MutableMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/MutableSetIterableMultimap.html#selectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2)">selectKeysMultiValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/MutableSetIterableMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetIterableMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/MutableSetMultimap.html#selectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2)">selectKeysMultiValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/MutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/SetMultimap.html#selectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2)">selectKeysMultiValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/SetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">SetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/UnsortedSetMultimap.html#selectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2)">selectKeysMultiValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/UnsortedSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">UnsortedSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>predicate</code> - a <a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate"><code>Predicate2</code></a> to use as the select criteria</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>Multimap</code>, which contains elements as a result of the select criteria</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="rejectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2)">rejectKeysMultiValues</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="UnifiedSetMultimap.html" title="class in org.eclipse.collections.impl.multimap.set">UnifiedSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</span>&nbsp;<span class="memberName">rejectKeysMultiValues</span>&#8203;(<span class="arguments"><a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate">Predicate2</a>&lt;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;? super <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="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;&gt;&nbsp;predicate)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/multimap/Multimap.html#rejectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2)">Multimap</a></code></span></div>
<div class="block">Returns all elements of the source multimap that don't satisfy the predicate.

 <pre>e.g.
 return multimap.<b>rejectKeysMultiValues</b>(new Predicate2&lt;Integer, Iterable&lt;Person&gt;&gt;()
 {
     public boolean accept(Integer age, Iterable&lt;Person&gt; values)
     {
         return (age &gt;= 18)
                  &amp;&amp; ((RichIterable&lt;Person&gt;)values.size() &gt;= 2);
     }
 });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/Multimap.html#rejectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2)">rejectKeysMultiValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/Multimap.html" title="interface in org.eclipse.collections.api.multimap">Multimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/MutableMultimap.html#rejectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2)">rejectKeysMultiValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/MutableMultimap.html" title="interface in org.eclipse.collections.api.multimap">MutableMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/MutableSetIterableMultimap.html#rejectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2)">rejectKeysMultiValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/MutableSetIterableMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetIterableMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/MutableSetMultimap.html#rejectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2)">rejectKeysMultiValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/MutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/SetMultimap.html#rejectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2)">rejectKeysMultiValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/SetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">SetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/UnsortedSetMultimap.html#rejectKeysMultiValues(org.eclipse.collections.api.block.predicate.Predicate2)">rejectKeysMultiValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/UnsortedSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">UnsortedSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>predicate</code> - a <a href="../../../api/block/predicate/Predicate2.html" title="interface in org.eclipse.collections.api.block.predicate"><code>Predicate2</code></a> to use as the reject criteria</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>Multimap</code>, which contains elements that don't satisfy the <code>predicate</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="collectKeysValues(org.eclipse.collections.api.block.function.Function2)">collectKeysValues</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;K2,&#8203;
V2&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/multimap/bag/MutableBagMultimap.html" title="interface in org.eclipse.collections.api.multimap.bag">MutableBagMultimap</a>&lt;K2,&#8203;V2&gt;</span>&nbsp;<span class="memberName">collectKeysValues</span>&#8203;(<span class="arguments"><a href="../../../api/block/function/Function2.html" title="interface in org.eclipse.collections.api.block.function">Function2</a>&lt;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>,&#8203;<a href="../../../api/tuple/Pair.html" title="interface in org.eclipse.collections.api.tuple">Pair</a>&lt;K2,&#8203;V2&gt;&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/multimap/Multimap.html#collectKeysValues(org.eclipse.collections.api.block.function.Function2)">Multimap</a></code></span></div>
<div class="block">Returns a new multimap with the results of applying the specified function on each key and value of the source
 multimap. This method is also commonly called transform or map.

 <pre>e.g.
 return multimap.collectKeysValues(new Function2&lt;Integer, Person, Pair&lt;String, String&gt;&gt;()
 {
     public Pair&lt;String, String&gt; valueOf(Integer age, Person person)
     {
         return Tuples.pair(age.toString(), person.getLastName());
     }
 });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/Multimap.html#collectKeysValues(org.eclipse.collections.api.block.function.Function2)">collectKeysValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/Multimap.html" title="interface in org.eclipse.collections.api.multimap">Multimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/MutableMultimap.html#collectKeysValues(org.eclipse.collections.api.block.function.Function2)">collectKeysValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/MutableMultimap.html" title="interface in org.eclipse.collections.api.multimap">MutableMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/MutableSetIterableMultimap.html#collectKeysValues(org.eclipse.collections.api.block.function.Function2)">collectKeysValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/MutableSetIterableMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetIterableMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/MutableSetMultimap.html#collectKeysValues(org.eclipse.collections.api.block.function.Function2)">collectKeysValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/MutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/UnsortedSetMultimap.html#collectKeysValues(org.eclipse.collections.api.block.function.Function2)">collectKeysValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/UnsortedSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">UnsortedSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>function</code> - a <a href="../../../api/block/function/Function2.html" title="interface in org.eclipse.collections.api.block.function"><code>Function2</code></a> to use for transformation</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>Multimap</code>, which contains elements as a result of the transformation</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="collectKeyMultiValues(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">collectKeyMultiValues</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;K2,&#8203;
V2&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/multimap/bag/MutableBagMultimap.html" title="interface in org.eclipse.collections.api.multimap.bag">MutableBagMultimap</a>&lt;K2,&#8203;V2&gt;</span>&nbsp;<span class="memberName">collectKeyMultiValues</span>&#8203;(<span class="arguments"><a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;? extends K2&gt;&nbsp;keyFunction,
<a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>,&#8203;? extends V2&gt;&nbsp;valueFunction)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/multimap/Multimap.html#collectKeyMultiValues(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">Multimap</a></code></span></div>
<div class="block">Returns a new multimap with the results of applying the specified keyFunction and valueFunction on each key and corresponding values of the source multimap.
 This method is also commonly called transform or map.

 <pre>e.g.
 return multimap.collectKeyMultiValues(each -&gt; each + 1, Person::getLastName);
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/Multimap.html#collectKeyMultiValues(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">collectKeyMultiValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/Multimap.html" title="interface in org.eclipse.collections.api.multimap">Multimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/MutableMultimap.html#collectKeyMultiValues(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">collectKeyMultiValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/MutableMultimap.html" title="interface in org.eclipse.collections.api.multimap">MutableMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/MutableSetIterableMultimap.html#collectKeyMultiValues(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">collectKeyMultiValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/MutableSetIterableMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetIterableMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/MutableSetMultimap.html#collectKeyMultiValues(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">collectKeyMultiValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/MutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/UnsortedSetMultimap.html#collectKeyMultiValues(org.eclipse.collections.api.block.function.Function,org.eclipse.collections.api.block.function.Function)">collectKeyMultiValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/UnsortedSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">UnsortedSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>keyFunction</code> - <a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function"><code>Function</code></a> to use transformation to get the key</dd>
<dd><code>valueFunction</code> - <a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function"><code>Function</code></a> to use transformation to get the values</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new <code>Multimap</code>, which contains elements as a result of the transformation</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="collectValues(org.eclipse.collections.api.block.function.Function)">collectValues</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="typeParameters">&lt;V2&gt;</span>&nbsp;<span class="returnType"><a href="../../../api/multimap/bag/MutableBagMultimap.html" title="interface in org.eclipse.collections.api.multimap.bag">MutableBagMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;V2&gt;</span>&nbsp;<span class="memberName">collectValues</span>&#8203;(<span class="arguments"><a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function">Function</a>&lt;? super <a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>,&#8203;? extends V2&gt;&nbsp;function)</span></div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/multimap/Multimap.html#collectValues(org.eclipse.collections.api.block.function.Function)">Multimap</a></code></span></div>
<div class="block">Returns a new multimap with the results of applying the specified function on each value of the source
 multimap. This method is also commonly called transform or map.

 <pre>e.g.
 return multimap.collectValues(new Function&lt;Person, String&gt;()
 {
     public String valueOf(Person person)
     {
         return person.getLastName();
     }
 });
 </pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/Multimap.html#collectValues(org.eclipse.collections.api.block.function.Function)">collectValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/Multimap.html" title="interface in org.eclipse.collections.api.multimap">Multimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/MutableMultimap.html#collectValues(org.eclipse.collections.api.block.function.Function)">collectValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/MutableMultimap.html" title="interface in org.eclipse.collections.api.multimap">MutableMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/MutableSetIterableMultimap.html#collectValues(org.eclipse.collections.api.block.function.Function)">collectValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/MutableSetIterableMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetIterableMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/MutableSetMultimap.html#collectValues(org.eclipse.collections.api.block.function.Function)">collectValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/MutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/UnsortedSetMultimap.html#collectValues(org.eclipse.collections.api.block.function.Function)">collectValues</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/UnsortedSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">UnsortedSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>function</code> - a <a href="../../../api/block/function/Function.html" title="interface in org.eclipse.collections.api.block.function"><code>Function</code></a> to use for transformation</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>Multimap</code>, which contains elements as a result of the transformation</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="flip()">flip</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/multimap/set/MutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>&gt;</span>&nbsp;<span class="memberName">flip</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/multimap/Multimap.html#flip()">Multimap</a></code></span></div>
<div class="block">Given a Multimap from Domain <code>-&gt;</code> Range return a multimap from Range <code>-&gt;</code> Domain.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/Multimap.html#flip()">flip</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/Multimap.html" title="interface in org.eclipse.collections.api.multimap">Multimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/MutableMultimap.html#flip()">flip</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/MutableMultimap.html" title="interface in org.eclipse.collections.api.multimap">MutableMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/MutableSetIterableMultimap.html#flip()">flip</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/MutableSetIterableMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetIterableMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/MutableSetMultimap.html#flip()">flip</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/MutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/SetMultimap.html#flip()">flip</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/SetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">SetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="asSynchronized()">asSynchronized</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType"><a href="../../../api/multimap/set/MutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</span>&nbsp;<span class="memberName">asSynchronized</span>()</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../api/multimap/MutableMultimap.html#asSynchronized()">MutableMultimap</a></code></span></div>
<div class="block">Returns a synchronized wrapper backed by this multimap.

 The preferred way of iterating over a synchronized multimap is to use the forEachKey(), forEachValue(),
 forEachKeyValue() and forEachKeyMultiValues methods which are properly synchronized internally.
 <pre>
  MutableMultimap synchedMultimap = multimap.asSynchronized();

  synchedMultimap.forEachKey(key -&gt; ... );
  synchedMultimap.forEachValue(value -&gt; ... );
  synchedMultimap.forEachKeyValue((key, value) -&gt; ... );
  synchedMultimap.forEachKeyMultiValues((key, values) -&gt; ... );
 </pre>
 <p>
 If you want to iterate imperatively over the keySet(), keysView(), valuesView(), or other views, you will
 need to protect the iteration by wrapping the code in a synchronized block on the multimap.
 <p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/MutableMultimap.html#asSynchronized()">asSynchronized</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/MutableMultimap.html" title="interface in org.eclipse.collections.api.multimap">MutableMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/MutableSetIterableMultimap.html#asSynchronized()">asSynchronized</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/MutableSetIterableMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetIterableMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../api/multimap/set/MutableSetMultimap.html#asSynchronized()">asSynchronized</a></code>&nbsp;in interface&nbsp;<code><a href="../../../api/multimap/set/MutableSetMultimap.html" title="interface in org.eclipse.collections.api.multimap.set">MutableSetMultimap</a>&lt;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">K</a>,&#8203;<a href="SynchronizedPutUnifiedSetMultimap.html" title="type parameter in SynchronizedPutUnifiedSetMultimap">V</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a synchronized view of this multimap.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../api/map/MutableMapIterable.html#asSynchronized()"><code>MutableMapIterable.asSynchronized()</code></a></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/SynchronizedPutUnifiedSetMultimap.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2004&#x2013;2020. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>
