Java8 implementation of Map.Entry (#54778)
A Java8 compatible version of Map.ofEntries() was added in #54183, but it really needs a compat version of Map.entry as well in order to facilitate easy backports from master.
This commit is contained in:
parent
d02f774cb6
commit
ca20b8a828
|
@ -19,6 +19,7 @@
|
||||||
|
|
||||||
package org.elasticsearch.common.collect;
|
package org.elasticsearch.common.collect;
|
||||||
|
|
||||||
|
import java.util.AbstractMap;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
@ -148,6 +149,13 @@ public class Map {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an unmodifiable Map.Entry for the provided key and value.
|
||||||
|
*/
|
||||||
|
public static <K, V> java.util.Map.Entry<K, V> entry(K k, V v) {
|
||||||
|
return new AbstractMap.SimpleImmutableEntry<>(k, v);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an unmodifiable {@code Map} containing the entries of the given {@code Map}.
|
* Returns an unmodifiable {@code Map} containing the entries of the given {@code Map}.
|
||||||
*
|
*
|
||||||
|
|
|
@ -112,6 +112,13 @@ public class Map {
|
||||||
return java.util.Map.ofEntries(entries);
|
return java.util.Map.ofEntries(entries);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delegates to the Java9 {@code Map.entry()} method.
|
||||||
|
*/
|
||||||
|
public static <K, V> java.util.Map.Entry<K, V> entry(K k, V v) {
|
||||||
|
return java.util.Map.entry(k, v);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delegates to the Java10 {@code Map.copyOf()} method.
|
* Delegates to the Java10 {@code Map.copyOf()} method.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -21,8 +21,6 @@ package org.elasticsearch.common.collect;
|
||||||
|
|
||||||
import org.elasticsearch.test.ESTestCase;
|
import org.elasticsearch.test.ESTestCase;
|
||||||
|
|
||||||
import java.util.AbstractMap;
|
|
||||||
|
|
||||||
import static org.hamcrest.CoreMatchers.equalTo;
|
import static org.hamcrest.CoreMatchers.equalTo;
|
||||||
|
|
||||||
public class MapTests extends ESTestCase {
|
public class MapTests extends ESTestCase {
|
||||||
|
@ -101,9 +99,9 @@ public class MapTests extends ESTestCase {
|
||||||
|
|
||||||
public void testOfEntries() {
|
public void testOfEntries() {
|
||||||
final java.util.Map<String, Integer> map = Map.ofEntries(
|
final java.util.Map<String, Integer> map = Map.ofEntries(
|
||||||
new AbstractMap.SimpleEntry<>(numbers[0], 0),
|
Map.entry(numbers[0], 0),
|
||||||
new AbstractMap.SimpleEntry<>(numbers[1], 1),
|
Map.entry(numbers[1], 1),
|
||||||
new AbstractMap.SimpleEntry<>(numbers[2], 2)
|
Map.entry(numbers[2], 2)
|
||||||
);
|
);
|
||||||
validateMapContents(map, 3);
|
validateMapContents(map, 3);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue