我正在尝试更新一个字符串ArrayList,其中包含字母,如果另一个ArrayList中存在某个字母,则需要进行更新。但是,代码只会在第一次遇到该字母时更新,而不是所有实例。ArrayList word 包含字母 h,e,l,l,o, ,w,o,r,l,d,而 ArrayList underscores 包含与word中每个字母对应的下划线。对于word中的每个字母,我想获取它的索引并在相同的索引处使用该字母更新underscores。例如,对于l,我想更新underscores以显示除了在word中找到字母l的索引之外的下划线。
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> word = new ArrayList<String>();
word.add("h");
word.add("e");
word.add("l");
word.add("l");
word.add("o");
word.add(" ");
word.add("w");
word.add("o");
word.add("r");
word.add("l");
word.add("d");
for (String letter:word) {
System.out.print(letter);
}
System.out.println();
ArrayList<String> underscores = new ArrayList<String>();
for (String letter:word) {
if (letter.equals(" ")) {
underscores.add(" ");
} else {
underscores.add("-");
}
}
for (String letter: underscores) {
System.out.print(letter);
}
String l = "l";
for (String s:word) {
if (s.equals(l)) {
int index = word.indexOf(s);
underscores.set(index, l);
}
}
System.out.println();
for (String s:underscores) {
System.out.print(s);
}
}
}
ArrayList<String>
来表示字符集合?可以使用ArrayList<Character>
或者使用单个String
,并迭代其字符数组。 - Eran