【发布时间】:2015-03-12 21:51:30
【问题描述】:
出于兴趣,我一直在研究一个非常基本的编码器/解码器程序。超级简单的编码,a = 1,b = 2... 从那里打印出数字:“1 2 3”。我有那个工作:
final Map<Character, Integer> map;
final String str = "hello world";
map = new HashMap<>();
before Java 7.
map.put('a', 1);
map.put('b', 2);
map.put('c', 3);
map.put('d', 4);
map.put('e', 5);
map.put('f', 6);
map.put('g', 7);
map.put('h', 8);
map.put('i', 9);
map.put('j', 10);
map.put('k', 11);
map.put('l', 12);
map.put('m', 13);
map.put('n', 14);
map.put('o', 15);
map.put('p', 16);
map.put('q', 17);
map.put('r', 18);
map.put('s', 19);
map.put('t', 20);
map.put('u', 21);
map.put('v', 22);
map.put('w', 23);
map.put('x', 24);
map.put('y', 25);
map.put('z', 26);
for(final char c : str.toCharArray())
{
final Integer val;
val = map.get(c);
if(val == null)
{
//error
}
else
{
System.out.print(val + " ");
}
}
System.out.println();
}
现在我正在研究一种将其转换回来的方法。我想我可以使用某种反向哈希图来做到这一点,但我无法让它工作。有什么建议么?谢谢。
【问题讨论】:
标签: java hashmap encoder decoder