快速创建 Map

2022-10-25 14:16:43 浏览数 (2)

想要快速创建 Map ,不用频繁 new ,最快的方法就是用 Guava ,使用 ImmutableMap.of("a", 1, "b", 2, "c", 3);

Guava

代码语言:javascript复制
Map<String, Integer> left = ImmutableMap.of("a", 1, "b", 2, "c", 3);

java 9

代码语言:javascript复制
Map<Integer, String> map = Map.of(1, "A", 2, "B", 3, "C");

超过 10 组会不支持,那么就要这样:

代码语言:javascript复制
Map.ofEntries(
    Map.entry( 1, false ),
    Map.entry( 2, true ),
    Map.entry( 3, false ),
    Map.entry( 4, true ),
    Map.entry( 5, false ),
    Map.entry( 6, true ),
    Map.entry( 7, false ),
    Map.entry( 8, true ),
    Map.entry( 9, false ),
    Map.entry( 10, true ),
    Map.entry( 11, false )
);

匿名

代码语言:javascript复制
Map<Integer, String> mymap = new HashMap<Integer, String>() {
    {
        put(1, "one");
        put(2, "two");
    }
};
Collections.unmodifiableMap(new HashMap<Integer, String>() {
            {
                put(0, "zero");
                put(1, "one");
                put(2, "two");
                put(3, "three");
                put(4, "four");
                put(5, "five");
                put(6, "six");
                put(7, "seven");
                put(8, "eight");
                put(9, "nine");
                put(10, "ten");
                put(11, "eleven");
                put(12, "twelve");
            }
        });

0 人点赞