只是一个免责声明:我第二次重复了我的 java mod,所以我的问题可能有点简单,希望我听起来不会太愚蠢。
编写一个 removeDuplicates 方法,该方法将已排序的字符串 ArrayList 作为参数,并从列表中消除任何重复项。例如,假设一个名为 list 的变量包含以下值:
{"be", "be", "is", "not", "or", "question", "that", "the", "to", "to"}
调用 removeDuplicates(list) 之后;该列表应存储以下值:{"be", "is", "not", "or", "question", "that", "the", "to"}
因为值将被排序,所以所有重复项将被分组在一起。
我对此的尝试:
public static void removeDuplicates(ArrayList <String>a){
for(int i=0;i<a.size();i++){
String word=a.get(i);
String word2=a.get(i+1);
if(word.equals(word2)){
a.remove(word);
}
else{
System.out.print(word);
}
}
}
问题是当我用以下方式调用它时:
["duplicate", "duplicate", "duplicate", "duplicate", "duplicate"]
它返回indexoutofbound
。我知道这i=i-1
与参考remove
方法有关。尝试在这里和那里插入它,但它不起作用。但我很困惑,因为这适用于我的代码。当我调用它时:
["be", "be", "is", "not", "or", "question", "that", "the", "to", "to"]
有用。