简体   繁体   English

如何使用HashMap值形成字符串?

[英]How can I use HashMap values to form a String?

I have the following code that maps specific String characters into letters: 我有以下代码将特定的String字符映射为字母:

 String a = "94466602777330999666887770223377778077778 883 336687777";
    String[] tokens = a.split("(?<=(.))(?!\\1)");
    Map<String, String> hmap = new HashMap<String, String>();

    hmap.put("2", "A");
    hmap.put("22", "B");
    hmap.put("222", "C");
    hmap.put("3", "D");
    hmap.put("33", "E");
    hmap.put("333", "F");
    hmap.put("4", "G");
    hmap.put("44", "H");
    hmap.put("444", "I");
    hmap.put("5", "J");
    hmap.put("55", "K");
    hmap.put("555", "L");
    hmap.put("6", "M");
    hmap.put("66", "N");
    hmap.put("666", "O");
    hmap.put("7", "P");
    hmap.put("77", "Q");
    hmap.put("777", "R");
    hmap.put("7777", "S");
    hmap.put("8", "T");
    hmap.put("88", "U");
    hmap.put("888", "V");
    hmap.put("9", "W");
    hmap.put("99", "X");
    hmap.put("999", "Y");
    hmap.put("9999", "Z");
    hmap.put("1", ".");
    hmap.put("0", " ");

After doing HashMap, I want to return a String That coverts my previous String "94466602777330999666887770223377778077778 883 336687777" into "WHO ARE YOUR BEST STUDENTS" 完成HashMap之后,我想将隐蔽我之前的字符串“ 94466602777330999666887770223377778077778 883 336687777”的字符串返回到“谁是您的最佳学生”

As you have mentioned, you already divided your input in strings array. 如前所述,您已经将输入分为字符串数组。

StringBuilder builder = new StringBuilder();

for (String s: tokens) {           
    builder.append(hmap.get(s));
}

String result = builder.toString();

您可以使用StringBuilder类形成String。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM