Java 9
我们可以使用Map.ofEntries
,调用Map.entry(k,v)
来创建每个条目。
import static java.util.Map.entry;
private static final Map<Integer,String> map = Map.ofEntries(
entry(1, "one"),
entry(2, "two"),
entry(3, "three"),
entry(4, "four"),
entry(5, "five"),
entry(6, "six"),
entry(7, "seven"),
entry(8, "eight"),
entry(9, "nine"),
entry(10, "ten"));
我们也可以像Tagir在他的回答
这里中建议的那样使用
Map.of
,但是如果使用
Map.of
,我们最多只能有10个条目。
Java 8
我们可以创建一个映射条目的流。我们已经在
java.util.AbstractMap
中有两个
Entry
实现,它们分别是
SimpleEntry和
SimpleImmutableEntry。对于这个示例,我们可以使用前者:
import java.util.AbstractMap.*;
private static final Map<Integer, String> myMap = Stream.of(
new SimpleEntry<>(1, "one"),
new SimpleEntry<>(2, "two"),
new SimpleEntry<>(3, "three"),
new SimpleEntry<>(4, "four"),
new SimpleEntry<>(5, "five"),
new SimpleEntry<>(6, "six"),
new SimpleEntry<>(7, "seven"),
new SimpleEntry<>(8, "eight"),
new SimpleEntry<>(9, "nine"),
new SimpleEntry<>(10, "ten"))
.collect(Collectors.toMap(SimpleEntry::getKey, SimpleEntry::getValue));
Map.of
,否则请使用Map.ofEntries
,请参见https://dev59.com/1nRB5IYBdhLWcg3wyqOo#37384773。 - akhil_mittal