切换 for 和 foreach

Switch for and foreach

我需要在此方法中将 for 循环更改为 foreach 循环,我该怎么做? (如有必要,可以添加完整的 class)

public String decode(String input) {
    String[] letters = input.split(" ");
    StringBuilder ret = new StringBuilder();

    for(int i=0; i<letters.length; i++)
        ret.append(decodeMap.get(letters[i]));
    return ret.toString();
}

您应该指定您使用的是哪种语言。我假设 java。使用 for(datatype var : collection)。 这是它的样子

public String decode(String input) {
    String[] letters = input.split(" ");
    StringBuilder ret = new StringBuilder();
    for(String s : letters){
                ret.append(decodeMap.get(s));
    }
    return ret.toString();
}

为了避免不必要地创建 StringBuilder 我会建议类似的东西(假设您使用的是 Java 8+):

    public String decode(String input) {
        String[] letters = input.split(" ");
        return Arrays.stream(letters)
                     .map(decodeMap::get)
                     .collect(Collectors.joining());
    }