java中的HashMap初始化

zds*_*zds 3 java hashmap

我对HashMap创作有疑问.有一种简单而快速的HashMap创作方式吗?也许,连接两个数组{1, 2, ...}{"picture/one.png", "picture/two.png", ...}.我对一个简洁的解决方案感兴趣.最好的做法,这么说.

每个指导或提示都会非常有用.谢谢.

编辑:是的,我知道如何发起一个HashMap.我看着javadoc(甚至没有一次).对不起我的问题的错误解释,也许不是很清楚.再一次,我对最佳实践解决方案感兴趣.如果最佳实践解决方案是for循环,那就是它.如果有其他选择,请显示.

gor*_*tde 5

对的,这是可能的:

public static <K,V> Map<K,V> mapFromArrays(K[] keys,V[]values){
    HashMap<K, V> result=new HashMap<K, V>();
    for(int i=0;i<keys.length;i++){
        result.put(keys[i], values[i]);
    }
    return result;

}
Run Code Online (Sandbox Code Playgroud)

假设键和值具有相同的长度.

您也可以在静态初始化程序中使用此函数,如下所示:

private static Integer[] keys=new Integer[]{1,2,3};
private static String[] values=new String[]{"first","second","third"};

private static Map<Integer,String> myMap;
{
    myMap=mapFromArrays(keys, values);
}
Run Code Online (Sandbox Code Playgroud)

  • 我认为这个问题与声明性表示更相关,而不是实际功能...... (3认同)