将hashmap的键/值输入到对象中

时间:2013-05-02 01:05:05

标签: java object hashmap key

假设我的程序中有以下hashmap设置..我想获取hashmap的输入并将它们存储到一个对象中。当前的hashmap列表太长而无法放入主代码中,因此我尝试从单独的目标文件中读取输入以限制主代码的长度。你会怎么建议我这样做?

谢谢!

int i = input.nextInt(); 
Map<Character,Integer> map = new HashMap<Character,Integer>();                         

map.put('A', i*2);                        
map.put('B', i*2);
map.put('C', i*2);
map.put('D', i*4);
map.put('E', i*2);
map.put('F', i*3);
map.put('G', i*2);
map.put('H', i*6);
                  and so on forth down to Z and other 20 other characters...

2 个答案:

答案 0 :(得分:0)

你的意思是这样的:

int i=1000;//anything what you like
Map<Character,Integer> map = new HashMap<Character,Integer>();
for(int x=65;x<=90;x++){
      char c=(char)x;
      map.put(c, i*2);
}    

答案 1 :(得分:0)

假设这些乘数不必改变,那么您可以执行以下操作。

int[] multipliers = {2,2,2,4,2,3,6,...};
char chars[] = {'A','B',...}; /// or if they are in ascii order you dont need to specify this
for (int j=0;j<chars.length;j++){
    map.put(chars[j],i * multipliers[j]);
}

确保两个阵列的大小相同。