我正在用Java编写一个拼写检查系统。输出必须按字母顺序排序,但需要注意一点。如果两个具有不同大小写的相同单词都拼写错误,则必须对它们进行排序,以便首先出现在文件中的单词。
例如," Peice coobe peice"输出为" coobe,Peice,peice"虽然" peice coobe Peice"将输出为" coobe,peice,Peice"
我目前正在进行使用字符串compareToIgnoreCase函数的插入排序,我也尝试过普通的compareTo。
任何建议都会有所帮助。
这是我的代码:
private ArrayList<Word> insertionSort(ArrayList<Word> list){
for (int j = 1; j < list.size(); j++) {
String key = list.get(j).getWord();
int i = j - 1;
while (i >= 0) {
if (key.compareToIgnoreCase(list.get(i).getWord()) > 0) {
break;
}
list.set(i + 1, list.get(i));
i--;
}
Word w = new Word(key);
list.set(i + 1, w);
}
return list;
}
Word是一个带有字段的对象,它是一个字符串