切换 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());
}
我需要在此方法中将 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());
}