Java 将映射值指定给输入字符串

Java 将映射值指定给输入字符串,java,hashmap,Java,Hashmap,我无法获取根据映射值输入的字符串的值?? 我想要得到的值是8118198920 import java.util.*; class maptable1 { public static void main(String args[]) { HashMap<String, Integer> hm = new HashMap<String, Integer>(); hm.put("A", Integer.

我无法获取根据映射值输入的字符串的值?? 我想要得到的值是8118198920

import java.util.*;

class maptable1 {
    public static void main(String args[]) {
        HashMap<String, Integer> hm =
                new HashMap<String, Integer>();
        hm.put("A", Integer.valueOf(1));
        hm.put("B", Integer.valueOf(2));
        hm.put("C", Integer.valueOf(3));
        hm.put("D", Integer.valueOf(4));
        hm.put("E", Integer.valueOf(5));
        hm.put("F", Integer.valueOf(6));
        hm.put("G", Integer.valueOf(7));
        hm.put("H", Integer.valueOf(8));
        hm.put("I", Integer.valueOf(9));
        hm.put("J", Integer.valueOf(10));
        hm.put("K", Integer.valueOf(11));
        hm.put("L", Integer.valueOf(12));
        hm.put("M", Integer.valueOf(13));
        hm.put("N", Integer.valueOf(14));
        hm.put("O", Integer.valueOf(15));
        hm.put("P", Integer.valueOf(16));
        hm.put("Q", Integer.valueOf(17));
        hm.put("R", Integer.valueOf(18));
        hm.put("S", Integer.valueOf(19));
        hm.put("T", Integer.valueOf(20));
        hm.put("U", Integer.valueOf(21));
        hm.put("V", Integer.valueOf(22));
        hm.put("W", Integer.valueOf(23));
        hm.put("X", Integer.valueOf(24));
        hm.put("Y", Integer.valueOf(25));
        hm.put("Z", Integer.valueOf(26));

        System.out.println("The Value is: " + hm.get("HARSHIT"));
    }
}
import java.util.*;
类映射表1{
公共静态void main(字符串参数[]){
HashMap hm=
新的HashMap();
hm.put(“A”,整数值(1));
hm.put(“B”,整数值(2));
hm.put(“C”,整数值(3));
hm.put(“D”,整数值(4));
hm.put(“E”,整数值(5));
hm.put(“F”,整数值(6));
hm.put(“G”,整数值(7));
hm.put(“H”,整数值(8));
hm.put(“I”,整数值(9));
hm.put(“J”,整数值(10));
hm.put(“K”,整数值(11));
hm.put(“L”,整数值(12));
hm.put(“M”,整数值(13));
hm.put(“N”,整数值(14));
hm.put(“O”,整数值(15));
hm.put(“P”,整数值(16));
hm.put(“Q”,整数值(17));
hm.put(“R”,整数值(18));
hm.put(“S”,整数值(19));
hm.put(“T”,整数值(20));
hm.put(“U”,整数值(21));
hm.put(“V”,整数值of(22));
hm.put(“W”,整数值(23));
hm.put(“X”,整数值of(24));
hm.put(“Y”,整数值(25));
hm.put(“Z”,整数值(26));
System.out.println(“值为:”+hm.get(“HARSHIT”));
}
}

哈希映射不是这样工作的

要生成所需内容,需要使用字符串中的每个字符调用
hm.get()
,将得到的整数转换为字符串,并将所有这些字符串连接在一起

实现这一点的一种方法是使用流:

// "s" is a string variable containing "HARSHIT"
String result = s.chars().mapToObj(x -> Character.toString((char)x))
        .map(x -> Integer.toString(hm.get(x)))
        .collect(Collectors.joining());

还请注意,您不需要
Integer.valueOf
。您可以只使用整数本身。

HARSHIT
的值不存在