Java 如何将句子输入HashMap

Java 如何将句子输入HashMap,java,hashmap,translate,Java,Hashmap,Translate,我有一个程序,应该把英语翻译成一种虚构的语言,比如精灵语 我的第一个想法是使用hashmaps 但当然,我做不到 map.get(“你好,我是人类”); 让它勾选“你好”,“我”,“我”,“a”,“人类”,然后把它翻译成“你好,我是你的朋友”或“龙,机器猫-鲸鱼-马” 我该怎么做呢?我知道这可能不是你想要的,但我就是这样做的。可能有更好的方法可以做到这一点(我在想regex之类的),但我不知道如何做到这一点,所以这是我最好的方法 收集输入的句子 分词 如果单词在转换映射中: 检索转换后的单词

我有一个程序,应该把英语翻译成一种虚构的语言,比如精灵语

我的第一个想法是使用hashmaps 但当然,我做不到

map.get(“你好,我是人类”);
让它勾选“你好”,“我”,“我”,“a”,“人类”,然后把它翻译成“你好,我是你的朋友”或“龙,机器猫-鲸鱼-马”


我该怎么做呢?

我知道这可能不是你想要的,但我就是这样做的。可能有更好的方法可以做到这一点(我在想regex之类的),但我不知道如何做到这一点,所以这是我最好的方法

  • 收集输入的句子
  • 分词
  • 如果单词在转换映射中:
  • 检索转换后的单词并添加到数组中

    ArrayList<String> strings = new ArrayList<>(Arrays.asList("hello world", "this is a test"));
    HashMap<String, String> map = new HashMap<>();
    
    map.put("hello", "wordForHello");
    map.put("world", "wordForWorld");
    map.put("this", "wordForThis");
    map.put("is", "wordForIs");
    map.put("a", "wordForA");
    map.put("test", "wordForTest");
    
    ArrayList<String> sentence = new ArrayList<>();
    
    for (String str : strings) {
        String[] words = str.split(" ");
        for (String word : words) {
            if (map.containsKey(word)) {
                sentence.add(map.get(word));
            }
        }
        System.out.println(sentence);
        sentence = new ArrayList<>();
    }
    
    arrayliststrings=newarraylist(Arrays.asList(“helloworld”,“这是一个测试”);
    HashMap=newHashMap();
    map.put(“hello”、“wordForHello”);
    地图。put(“世界”、“单词世界”);
    地图。放置(“这个”、“这个词”);
    地图放置(“is”,“wordForIs”);
    地图放置(“a”、“wordForA”);
    map.put(“test”、“wordForTest”);
    ArrayList语句=新的ArrayList();
    for(字符串str:strings){
    String[]words=str.split(“”);
    for(字符串字:字){
    if(地图容器(word)){
    添加(map.get(word));
    }
    }
    System.out.println(句子);
    句子=新数组列表();
    }