每天学会一点点(map常量)

Posted heqiyoujing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每天学会一点点(map常量)相关的知识,希望对你有一定的参考价值。

map常用的声明方式(使用静态代码块):

    public final static Map map = new HashMap();
    static {
        map.put("key1", "value1");
        map.put("key2", "value2");
    }

一种简约方式:

public class ConstMap {
    public static final Map<String, String> MAP_CONST = new HashMap(){{
        put("","");
        put("1","我");
        put("2","你");
        put("3","他");
    }};
}

这种方式,相当于重载HashMap的一个匿名实现。向原有的HashMap中添加了一个匿名构造方法。 

List/Set变量的声明方式:

public final static List list = Arrays.asList("111", "222");  

另外一种map常量方式:

添加guava依赖:

<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>23.0</version>
        </dependency>

代码:

import com.google.common.collect.ImmutableMap;
import java.util.Map;

public interface ConstantMap {
    Map<String,String> MAP_TEST = new ImmutableMap.Builder<String,String>()
            .put("","")
            .put("1","我")
            .put("2","你")
            .build();
}

测试结果:

public class Test {
    public static void main(String[] args) {
        String name = ConstantMap.MAP_TEST.get("1");
        System.out.println(name);//我
    }
}

 

以上是关于每天学会一点点(map常量)的主要内容,如果未能解决你的问题,请参考以下文章

每天学会一点点(HashMap实现原理及源码分析)

每天学一点 Kotlin -- 集合:MutableMap

还在频繁定义常量?不试试用枚举代替(备战2022春招或暑期实习,每天进步一点点,打卡100天,Day5)

每天一点点之javascript(ES6) - Map对象

每天学一点Scala之 高阶函数 map

日常Java练习题(每天进步一点点系列)