我在从 ArrayList 中删除重复项时遇到问题。是为了大学作业。这是我已经拥有的代码:
public int numberOfDiffWords() {
ArrayList<String> list = new ArrayList<>();
for(int i=0; i<words.size()-1; i++) {
for(int j=i+1; j<words.size(); j++) {
if(words.get(i).equals(words.get(j))) {
// do nothing
}
else {
list.add(words.get(i));
}
}
}
return list.size();
}
问题出在numberOfDiffWords()
方法上。填充列表方法工作正常,因为我的导师给了我一个示例字符串(包含 4465 个单词)来分析 - 打印words.size()
给出了正确的结果。
我想返回删除所有重复项的新 ArrayList 的大小。
words
是一个 ArrayList 类属性。
更新:我应该提到我只允许在这部分分配中使用基于动态索引的存储,这意味着没有基于哈希的存储。