From 4b233a78a00fe9f843c0f630d0d7a86589bde5ce Mon Sep 17 00:00:00 2001 From: Donald Raab Date: Mon, 11 Apr 2022 22:51:25 -0400 Subject: [PATCH] Add withKeyValue to MutableMultimap and subtypes. Closes #1303. Signed-off-by: Donald Raab --- .../api/multimap/MutableMultimap.java | 12 +++- .../bag/MutableBagIterableMultimap.java | 13 ++++- .../api/multimap/bag/MutableBagMultimap.java | 13 ++++- .../multimap/list/MutableListMultimap.java | 13 ++++- .../set/MutableSetIterableMultimap.java | 13 ++++- .../api/multimap/set/MutableSetMultimap.java | 13 ++++- .../sortedbag/MutableSortedBagMultimap.java | 13 ++++- .../sortedset/MutableSortedSetMultimap.java | 13 ++++- .../multimap/bag/HashBagMultimapTest.java | 34 +++++------ .../bag/SynchronizedBagMultimapTest.java | 34 +++++------ .../bag/sorted/TreeBagMultimapTest.java | 34 +++++------ .../SynchronizedSortedBagMultimapTest.java | 34 +++++------ .../sorted/mutable/TreeBagMultimapTest.java | 34 +++++------ ...ashBagMultimapWithHashingStrategyTest.java | 58 ++++++++++--------- .../multimap/list/FastListMultimapTest.java | 34 +++++------ .../list/SynchronizedListMultimapTest.java | 34 +++++------ .../set/SynchronizedSetMultimapTest.java | 34 +++++------ .../multimap/set/UnifiedSetMultimapTest.java | 34 +++++------ ...chronizedPutTreeSortedSetMultimapTest.java | 34 +++++------ .../SynchronizedSortedSetMultimapTest.java | 34 +++++------ .../set/sorted/TreeSortedSetMultimapTest.java | 34 +++++------ 21 files changed, 307 insertions(+), 262 deletions(-) diff --git a/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/MutableMultimap.java b/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/MutableMultimap.java index 890f96f0c1..c9384f2e72 100644 --- a/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/MutableMultimap.java +++ b/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/MutableMultimap.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Goldman Sachs and others. + * Copyright (c) 2022 Goldman Sachs and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompany this distribution. @@ -34,6 +34,16 @@ public interface MutableMultimap boolean put(K key, V value); + /** + * Puts the key / value combination into the MutableMultimap and returns the MutableMultimap (this). + * @since 11.1 + */ + default MutableMultimap withKeyValue(K key, V value) + { + this.put(key, value); + return this; + } + /** * Modification operation similar to put, however, takes the key-value pair as the input. * diff --git a/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/bag/MutableBagIterableMultimap.java b/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/bag/MutableBagIterableMultimap.java index efd2a73359..b4c8e95e4d 100644 --- a/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/bag/MutableBagIterableMultimap.java +++ b/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/bag/MutableBagIterableMultimap.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Goldman Sachs and others. + * Copyright (c) 2022 Goldman Sachs and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompany this distribution. @@ -24,6 +24,17 @@ public interface MutableBagIterableMultimap extends MutableMultimap, BagMultimap { + /** + * Puts the key / value combination into the MutableBagIterableMultimap and returns the MutableBagIterableMultimap (this). + * @since 11.1 + */ + @Override + default MutableBagIterableMultimap withKeyValue(K key, V value) + { + this.put(key, value); + return this; + } + @Override MutableBagIterable replaceValues(K key, Iterable values); diff --git a/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/bag/MutableBagMultimap.java b/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/bag/MutableBagMultimap.java index ee702452fb..8d04d45b14 100644 --- a/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/bag/MutableBagMultimap.java +++ b/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/bag/MutableBagMultimap.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Goldman Sachs and others. + * Copyright (c) 2022 Goldman Sachs and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompany this distribution. @@ -24,6 +24,17 @@ public interface MutableBagMultimap extends MutableBagIterableMultimap, UnsortedBagMultimap { + /** + * Puts the key / value combination into the MutableBagMultimap and returns the MutableBagMultimap (this). + * @since 11.1 + */ + @Override + default MutableBagMultimap withKeyValue(K key, V value) + { + this.put(key, value); + return this; + } + /** * @since 11.0 */ diff --git a/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/list/MutableListMultimap.java b/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/list/MutableListMultimap.java index caedeabfac..f964242996 100644 --- a/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/list/MutableListMultimap.java +++ b/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/list/MutableListMultimap.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Goldman Sachs and others. + * Copyright (c) 2022 Goldman Sachs and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompany this distribution. @@ -26,6 +26,17 @@ public interface MutableListMultimap extends ListMultimap, MutableMultimap { + /** + * Puts the key / value combination into the MutableListMultimap and returns the MutableListMultimap (this). + * @since 11.1 + */ + @Override + default MutableListMultimap withKeyValue(K key, V value) + { + this.put(key, value); + return this; + } + /** * @since 11.0 */ diff --git a/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/set/MutableSetIterableMultimap.java b/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/set/MutableSetIterableMultimap.java index e66ef4aac5..49ed6ba32e 100644 --- a/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/set/MutableSetIterableMultimap.java +++ b/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/set/MutableSetIterableMultimap.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Goldman Sachs and others. + * Copyright (c) 2022 Goldman Sachs and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompany this distribution. @@ -25,6 +25,17 @@ public interface MutableSetIterableMultimap extends SetMultimap, MutableMultimap { + /** + * Puts the key / value combination into the MutableSetIterableMultimap and returns the MutableSetIterableMultimap (this). + * @since 11.1 + */ + @Override + default MutableSetIterableMultimap withKeyValue(K key, V value) + { + this.put(key, value); + return this; + } + @Override MutableSetIterable replaceValues(K key, Iterable values); diff --git a/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/set/MutableSetMultimap.java b/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/set/MutableSetMultimap.java index 95c7062103..0b704586d7 100644 --- a/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/set/MutableSetMultimap.java +++ b/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/set/MutableSetMultimap.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Goldman Sachs and others. + * Copyright (c) 2022 Goldman Sachs and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompany this distribution. @@ -25,6 +25,17 @@ public interface MutableSetMultimap extends UnsortedSetMultimap, MutableSetIterableMultimap { + /** + * Puts the key / value combination into the MutableSetMultimap and returns the MutableSetMultimap (this). + * @since 11.1 + */ + @Override + default MutableSetMultimap withKeyValue(K key, V value) + { + this.put(key, value); + return this; + } + /** * @since 11.0 */ diff --git a/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/sortedbag/MutableSortedBagMultimap.java b/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/sortedbag/MutableSortedBagMultimap.java index 2b54e9c08a..4745e1fbbc 100644 --- a/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/sortedbag/MutableSortedBagMultimap.java +++ b/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/sortedbag/MutableSortedBagMultimap.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Goldman Sachs and others. + * Copyright (c) 2022 Goldman Sachs and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompany this distribution. @@ -26,6 +26,17 @@ public interface MutableSortedBagMultimap extends MutableBagIterableMultimap, SortedBagMultimap { + /** + * Puts the key / value combination into the MutableSortedBagMultimap and returns the MutableSortedBagMultimap (this). + * @since 11.1 + */ + @Override + default MutableSortedBagMultimap withKeyValue(K key, V value) + { + this.put(key, value); + return this; + } + @Override MutableSortedBag replaceValues(K key, Iterable values); diff --git a/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/sortedset/MutableSortedSetMultimap.java b/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/sortedset/MutableSortedSetMultimap.java index 37b81365bc..5104c4c5b5 100644 --- a/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/sortedset/MutableSortedSetMultimap.java +++ b/eclipse-collections-api/src/main/java/org/eclipse/collections/api/multimap/sortedset/MutableSortedSetMultimap.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Goldman Sachs and others. + * Copyright (c) 2022 Goldman Sachs and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompany this distribution. @@ -27,6 +27,17 @@ public interface MutableSortedSetMultimap extends MutableSetIterableMultimap, SortedSetMultimap { + /** + * Puts the key / value combination into the MutableSortedSetMultimap and returns the MutableSortedSetMultimap (this). + * @since 11.1 + */ + @Override + default MutableSortedSetMultimap withKeyValue(K key, V value) + { + this.put(key, value); + return this; + } + @Override MutableSortedSet replaceValues(K key, Iterable values); diff --git a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/HashBagMultimapTest.java b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/HashBagMultimapTest.java index ab76ea0fc2..80d1498b7c 100644 --- a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/HashBagMultimapTest.java +++ b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/HashBagMultimapTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Goldman Sachs. + * Copyright (c) 2022 Goldman Sachs and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompany this distribution. @@ -29,18 +29,16 @@ protected MutableBagMultimap newMultimap() @Override protected MutableBagMultimap newMultimapWithKeyValue(K key, V value) { - MutableBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key, value); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key, value); } @Override protected MutableBagMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2) { - MutableBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2); } @Override @@ -49,11 +47,10 @@ protected MutableBagMultimap newMultimapWithKeysValues( K key2, V value2, K key3, V value3) { - MutableBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3); } @Override @@ -63,12 +60,11 @@ protected MutableBagMultimap newMultimapWithKeysValues( K key3, V value3, K key4, V value4) { - MutableBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - mutableMultimap.put(key4, value4); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3) + .withKeyValue(key4, value4); } @SafeVarargs diff --git a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/SynchronizedBagMultimapTest.java b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/SynchronizedBagMultimapTest.java index 3d5587de86..07414fcc8e 100644 --- a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/SynchronizedBagMultimapTest.java +++ b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/SynchronizedBagMultimapTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Shotaro Sano. + * Copyright (c) 2022 Shotaro Sano and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompany this distribution. @@ -26,39 +26,35 @@ public MutableBagMultimap newMultimap() @Override public MutableBagMultimap newMultimapWithKeyValue(K key, V value) { - MutableBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key, value); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key, value); } @Override public MutableBagMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2) { - MutableBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2); } @Override public MutableBagMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2, K key3, V value3) { - MutableBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3); } @Override public MutableBagMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2, K key3, V value3, K key4, V value4) { - MutableBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - mutableMultimap.put(key4, value4); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3) + .withKeyValue(key4, value4); } @Override diff --git a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/sorted/TreeBagMultimapTest.java b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/sorted/TreeBagMultimapTest.java index 033016cd32..ee626618e1 100644 --- a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/sorted/TreeBagMultimapTest.java +++ b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/sorted/TreeBagMultimapTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Goldman Sachs. + * Copyright (c) 2022 Goldman Sachs and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompany this distribution. @@ -47,18 +47,16 @@ public MutableSortedBagMultimap newMultimap() @Override public MutableSortedBagMultimap newMultimapWithKeyValue(K key, V value) { - MutableSortedBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key, value); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key, value); } @Override public MutableSortedBagMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2) { - MutableSortedBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2); } @Override @@ -67,11 +65,10 @@ public MutableSortedBagMultimap newMultimapWithKeysValues( K key2, V value2, K key3, V value3) { - MutableSortedBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3); } @Override @@ -81,12 +78,11 @@ public MutableSortedBagMultimap newMultimapWithKeysValues( K key3, V value3, K key4, V value4) { - MutableSortedBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - mutableMultimap.put(key4, value4); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3) + .withKeyValue(key4, value4); } @Override diff --git a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/sorted/mutable/SynchronizedSortedBagMultimapTest.java b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/sorted/mutable/SynchronizedSortedBagMultimapTest.java index 98c86fb5f2..9b2069d062 100644 --- a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/sorted/mutable/SynchronizedSortedBagMultimapTest.java +++ b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/sorted/mutable/SynchronizedSortedBagMultimapTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Shotaro Sano. + * Copyright (c) 2022 Shotaro Sano and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompany this distribution. @@ -33,39 +33,35 @@ public MutableSortedBagMultimap newMultimap() @Override public MutableSortedBagMultimap newMultimapWithKeyValue(K key, V value) { - MutableSortedBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key, value); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key, value); } @Override public MutableSortedBagMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2) { - MutableSortedBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2); } @Override public MutableSortedBagMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2, K key3, V value3) { - MutableSortedBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3); } @Override public MutableSortedBagMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2, K key3, V value3, K key4, V value4) { - MutableSortedBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - mutableMultimap.put(key4, value4); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3) + .withKeyValue(key4, value4); } @Override diff --git a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/sorted/mutable/TreeBagMultimapTest.java b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/sorted/mutable/TreeBagMultimapTest.java index 9aeacb0725..115660c0ad 100644 --- a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/sorted/mutable/TreeBagMultimapTest.java +++ b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/sorted/mutable/TreeBagMultimapTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Goldman Sachs. + * Copyright (c) 2022 Goldman Sachs and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompany this distribution. @@ -47,18 +47,16 @@ public MutableSortedBagMultimap newMultimap() @Override public MutableSortedBagMultimap newMultimapWithKeyValue(K key, V value) { - MutableSortedBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key, value); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key, value); } @Override public MutableSortedBagMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2) { - MutableSortedBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2); } @Override @@ -67,11 +65,10 @@ public MutableSortedBagMultimap newMultimapWithKeysValues( K key2, V value2, K key3, V value3) { - MutableSortedBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3); } @Override @@ -81,12 +78,11 @@ public MutableSortedBagMultimap newMultimapWithKeysValues( K key3, V value3, K key4, V value4) { - MutableSortedBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - mutableMultimap.put(key4, value4); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3) + .withKeyValue(key4, value4); } @Override diff --git a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/strategy/HashBagMultimapWithHashingStrategyTest.java b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/strategy/HashBagMultimapWithHashingStrategyTest.java index ab9777632a..be5e221ac9 100644 --- a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/strategy/HashBagMultimapWithHashingStrategyTest.java +++ b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/bag/strategy/HashBagMultimapWithHashingStrategyTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Goldman Sachs. + * Copyright (c) 2022 Goldman Sachs and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompany this distribution. @@ -43,18 +43,16 @@ protected MutableBagMultimap newMultimap() @Override protected MutableBagMultimap newMultimapWithKeyValue(K key, V value) { - MutableBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key, value); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key, value); } @Override protected MutableBagMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2) { - MutableBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2); } @Override @@ -63,11 +61,10 @@ protected MutableBagMultimap newMultimapWithKeysValues( K key2, V value2, K key3, V value3) { - MutableBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3); } @Override @@ -77,12 +74,11 @@ protected MutableBagMultimap newMultimapWithKeysValues( K key3, V value3, K key4, V value4) { - MutableBagMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - mutableMultimap.put(key4, value4); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3) + .withKeyValue(key4, value4); } @Override @@ -140,7 +136,8 @@ public void toMap() MutableBagMultimap multimap = this.newMultimapWithKeysValues("One", 1, "Two", 2, "Two", 2); - UnifiedMapWithHashingStrategy> expected = UnifiedMapWithHashingStrategy.newMap(HashingStrategies.defaultStrategy()); + UnifiedMapWithHashingStrategy> expected = + UnifiedMapWithHashingStrategy.newMap(HashingStrategies.defaultStrategy()); expected.put("One", this.createCollection(1)); expected.put("Two", this.createCollection(2, 2)); MutableMap> actual = multimap.toMap(); @@ -156,7 +153,8 @@ public void toMapWithTarget() MutableBagMultimap multimap = this.newMultimapWithKeysValues("One", 1, "Two", 2, "Two", 2); - UnifiedMapWithHashingStrategy> expected = UnifiedMapWithHashingStrategy.newMap(HashingStrategies.defaultStrategy()); + UnifiedMapWithHashingStrategy> expected = + UnifiedMapWithHashingStrategy.newMap(HashingStrategies.defaultStrategy()); expected.put("One", UnifiedSet.newSetWith(1)); expected.put("Two", UnifiedSet.newSetWith(2, 2)); MutableMap> actual = multimap.toMap(UnifiedSet::new); @@ -167,7 +165,8 @@ public void toMapWithTarget() @Test public void testHashingStrategyConstructor() { - HashBagMultimapWithHashingStrategy multimapWithIdentity = HashBagMultimapWithHashingStrategy.newMultimap(HashingStrategies.identityStrategy()); + HashBagMultimapWithHashingStrategy multimapWithIdentity = + HashBagMultimapWithHashingStrategy.newMultimap(HashingStrategies.identityStrategy()); multimapWithIdentity.put(new Integer(1), 1); multimapWithIdentity.putAll(new Integer(1), Lists.fixedSize.of(2, 20, 1)); @@ -176,14 +175,20 @@ public void testHashingStrategyConstructor() Assert.assertEquals(3, multimapWithIdentity.sizeDistinct()); Verify.assertSize(5, multimapWithIdentity); - HashBagMultimapWithHashingStrategy multimapWithDefault = HashBagMultimapWithHashingStrategy.newMultimap(HashingStrategies.defaultStrategy(), multimapWithIdentity); + HashBagMultimapWithHashingStrategy multimapWithDefault = + HashBagMultimapWithHashingStrategy.newMultimap( + HashingStrategies.defaultStrategy(), + multimapWithIdentity); Assert.assertEquals(1, multimapWithDefault.sizeDistinct()); Verify.assertSize(5, multimapWithDefault); - Verify.assertIterablesEqual(multimapWithIdentity.valuesView().toBag(), multimapWithDefault.valuesView().toBag()); + Verify.assertIterablesEqual( + multimapWithIdentity.valuesView().toBag(), + multimapWithDefault.valuesView().toBag()); - HashBagMultimapWithHashingStrategy copyOfMultimapWithDefault = HashBagMultimapWithHashingStrategy.newMultimap(multimapWithDefault); + HashBagMultimapWithHashingStrategy copyOfMultimapWithDefault = + HashBagMultimapWithHashingStrategy.newMultimap(multimapWithDefault); Verify.assertMapsEqual(multimapWithDefault.toMap(), copyOfMultimapWithDefault.toMap()); } @@ -191,7 +196,8 @@ public void testHashingStrategyConstructor() @Test public void testKeyHashingStrategy() { - HashBagMultimapWithHashingStrategy multimap = HashBagMultimapWithHashingStrategy.newMultimap(HashingStrategies.identityStrategy()); + HashBagMultimapWithHashingStrategy multimap = + HashBagMultimapWithHashingStrategy.newMultimap(HashingStrategies.identityStrategy()); Assert.assertEquals(HashingStrategies.identityStrategy(), multimap.getKeyHashingStrategy()); } } diff --git a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/list/FastListMultimapTest.java b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/list/FastListMultimapTest.java index c5907db58a..607b985f88 100644 --- a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/list/FastListMultimapTest.java +++ b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/list/FastListMultimapTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Goldman Sachs. + * Copyright (c) 2022 Goldman Sachs and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompany this distribution. @@ -32,18 +32,16 @@ public MutableListMultimap newMultimap() @Override public MutableListMultimap newMultimapWithKeyValue(K key, V value) { - MutableListMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key, value); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key, value); } @Override public MutableListMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2) { - MutableListMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2); } @Override @@ -52,11 +50,10 @@ public MutableListMultimap newMultimapWithKeysValues( K key2, V value2, K key3, V value3) { - MutableListMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3); } @Override @@ -66,12 +63,11 @@ public MutableListMultimap newMultimapWithKeysValues( K key3, V value3, K key4, V value4) { - MutableListMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - mutableMultimap.put(key4, value4); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3) + .withKeyValue(key4, value4); } @SafeVarargs diff --git a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/list/SynchronizedListMultimapTest.java b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/list/SynchronizedListMultimapTest.java index b144c68e01..3e0ca3d75a 100644 --- a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/list/SynchronizedListMultimapTest.java +++ b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/list/SynchronizedListMultimapTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Shotaro Sano. + * Copyright (c) 2022 Shotaro Sano and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompany this distribution. @@ -26,39 +26,35 @@ public MutableListMultimap newMultimap() @Override public MutableListMultimap newMultimapWithKeyValue(K key, V value) { - MutableListMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key, value); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key, value); } @Override public MutableListMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2) { - MutableListMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2); } @Override public MutableListMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2, K key3, V value3) { - MutableListMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3); } @Override public MutableListMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2, K key3, V value3, K key4, V value4) { - MutableListMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - mutableMultimap.put(key4, value4); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3) + .withKeyValue(key4, value4); } @Override diff --git a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/set/SynchronizedSetMultimapTest.java b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/set/SynchronizedSetMultimapTest.java index 44cdd09319..e59c08322c 100644 --- a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/set/SynchronizedSetMultimapTest.java +++ b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/set/SynchronizedSetMultimapTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Shotaro Sano. + * Copyright (c) 2022 Shotaro Sano and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompany this distribution. @@ -26,39 +26,35 @@ public MutableSetMultimap newMultimap() @Override public MutableSetMultimap newMultimapWithKeyValue(K key, V value) { - MutableSetMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key, value); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key, value); } @Override public MutableSetMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2) { - MutableSetMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2); } @Override public MutableSetMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2, K key3, V value3) { - MutableSetMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3); } @Override public MutableSetMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2, K key3, V value3, K key4, V value4) { - MutableSetMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - mutableMultimap.put(key4, value4); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3) + .withKeyValue(key4, value4); } @Override diff --git a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/set/UnifiedSetMultimapTest.java b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/set/UnifiedSetMultimapTest.java index d0fb8648d0..ef4a4e4bae 100644 --- a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/set/UnifiedSetMultimapTest.java +++ b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/set/UnifiedSetMultimapTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Goldman Sachs. + * Copyright (c) 2022 Goldman Sachs and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompany this distribution. @@ -33,18 +33,16 @@ protected MutableSetMultimap newMultimap() @Override protected MutableSetMultimap newMultimapWithKeyValue(K key, V value) { - MutableSetMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key, value); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key, value); } @Override protected MutableSetMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2) { - MutableSetMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2); } @Override @@ -53,11 +51,10 @@ protected MutableSetMultimap newMultimapWithKeysValues( K key2, V value2, K key3, V value3) { - MutableSetMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3); } @Override @@ -67,12 +64,11 @@ protected MutableSetMultimap newMultimapWithKeysValues( K key3, V value3, K key4, V value4) { - MutableSetMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - mutableMultimap.put(key4, value4); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3) + .withKeyValue(key4, value4); } @SafeVarargs diff --git a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/set/sorted/SynchronizedPutTreeSortedSetMultimapTest.java b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/set/sorted/SynchronizedPutTreeSortedSetMultimapTest.java index c4562b653e..202ec0f36a 100644 --- a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/set/sorted/SynchronizedPutTreeSortedSetMultimapTest.java +++ b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/set/sorted/SynchronizedPutTreeSortedSetMultimapTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Goldman Sachs. + * Copyright (c) 2022 Goldman Sachs and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompany this distribution. @@ -40,18 +40,16 @@ protected MutableSortedSetMultimap newMultimap(Comparator MutableSortedSetMultimap newMultimapWithKeyValue(K key, V value) { - MutableSortedSetMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key, value); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key, value); } @Override protected MutableSortedSetMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2) { - MutableSortedSetMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2); } @Override @@ -60,11 +58,10 @@ protected MutableSortedSetMultimap newMultimapWithKeysValues( K key2, V value2, K key3, V value3) { - MutableSortedSetMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3); } @Override @@ -74,12 +71,11 @@ protected MutableSortedSetMultimap newMultimapWithKeysValues( K key3, V value3, K key4, V value4) { - MutableSortedSetMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - mutableMultimap.put(key4, value4); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3) + .withKeyValue(key4, value4); } @SafeVarargs diff --git a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/set/sorted/SynchronizedSortedSetMultimapTest.java b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/set/sorted/SynchronizedSortedSetMultimapTest.java index 2ac1bc467c..a52416a110 100644 --- a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/set/sorted/SynchronizedSortedSetMultimapTest.java +++ b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/set/sorted/SynchronizedSortedSetMultimapTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Shotaro Sano. + * Copyright (c) 2022 Shotaro Sano and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompany this distribution. @@ -33,39 +33,35 @@ protected MutableSortedSetMultimap newMultimap() @Override public MutableSortedSetMultimap newMultimapWithKeyValue(K key, V value) { - MutableSortedSetMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key, value); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key, value); } @Override public MutableSortedSetMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2) { - MutableSortedSetMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2); } @Override public MutableSortedSetMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2, K key3, V value3) { - MutableSortedSetMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3); } @Override public MutableSortedSetMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2, K key3, V value3, K key4, V value4) { - MutableSortedSetMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - mutableMultimap.put(key4, value4); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3) + .withKeyValue(key4, value4); } @Override diff --git a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/set/sorted/TreeSortedSetMultimapTest.java b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/set/sorted/TreeSortedSetMultimapTest.java index f963802612..9127647bad 100644 --- a/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/set/sorted/TreeSortedSetMultimapTest.java +++ b/unit-tests/src/test/java/org/eclipse/collections/impl/multimap/set/sorted/TreeSortedSetMultimapTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Goldman Sachs. + * Copyright (c) 2022 Goldman Sachs and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v. 1.0 which accompany this distribution. @@ -45,18 +45,16 @@ public MutableSortedSetMultimap newMultimap() @Override public MutableSortedSetMultimap newMultimapWithKeyValue(K key, V value) { - MutableSortedSetMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key, value); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key, value); } @Override public MutableSortedSetMultimap newMultimapWithKeysValues(K key1, V value1, K key2, V value2) { - MutableSortedSetMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2); } @Override @@ -65,11 +63,10 @@ public MutableSortedSetMultimap newMultimapWithKeysValues( K key2, V value2, K key3, V value3) { - MutableSortedSetMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3); } @Override @@ -79,12 +76,11 @@ public MutableSortedSetMultimap newMultimapWithKeysValues( K key3, V value3, K key4, V value4) { - MutableSortedSetMultimap mutableMultimap = this.newMultimap(); - mutableMultimap.put(key1, value1); - mutableMultimap.put(key2, value2); - mutableMultimap.put(key3, value3); - mutableMultimap.put(key4, value4); - return mutableMultimap; + return this.newMultimap() + .withKeyValue(key1, value1) + .withKeyValue(key2, value2) + .withKeyValue(key3, value3) + .withKeyValue(key4, value4); } @SafeVarargs