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

标签 java string hashmap

我有以下代码将特定的字符串字符映射为字母:

 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", " ");

完成 HashMap 后,我想返回一个字符串,将之前的字符串“94466602777330999666887770223377778077778 883 336687777”转换为“谁是你最好的学生”

最佳答案

正如您所提到的,您已经将输入划分为字符串数组。

StringBuilder builder = new StringBuilder();

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

String result = builder.toString();

关于java - 如何使用 HashMap 值形成字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35714391/

相关文章:

java - Android 相机 - 尝试从空对象引用上的字段 'int android.hardware.Camera$Size.width' 读取

java - myDate 无法解析为变量

java - 将 MultiLabelDataset<String, String> 转换为 Guava Multimap 用于打印/检查

java - 按空格分割字符串

java - 知道为什么我在从 HashMap 中删除键时没有收到 java.util.ConcurrentModificationException 吗?

java - Android 游戏时间处理

java - 如何比较列表和字符串数组(Java)?

ruby-on-rails - 匹配具有最大相似性的 2 个哈希的有效方法

Java - 列表排序不起作用

java - 直接将事件添加到日历