所以我有排序ArrayList的問題。我需要在插入方法中使用,所以我正在編寫基於此的代碼。這是打算做的是用戶需要輸入4個3個字母的單詞,然後按字母順序在ArrayList中排序。我一直在嘗試不同的事情,但是當我運行代碼時,它將第一個單詞排序,但重複它。輸出真的取決於我所說的話。我覺得我的問題是在while循環中,但我一直在嘗試不同的方式,但我遇到了同樣的問題。任何幫助是極大的讚賞。排序遇到問題
import java.util.ArrayList;
import TerminalIO.KeyboardReader;
public class Insert{
public static void main(String[] args) {
int i,j;
String tmp;
ArrayList<String> words = new ArrayList<String>();
int run = 4;
KeyboardReader reader = new KeyboardReader();
while(run!=0) {
words.add(reader.readLine("Enter a three letter word: "));
run--;
}
for (j=1; j<words.size(); j++) {
i = j - 1;
tmp = words.get(j);
while ((i>=0) && (tmp.compareTo(words.get(i)) < 0)){
words.set(i,tmp);
words.set(i+1,words.get(i));
i--;
}
//words.set(i+1,tmp);
}
for(int r = 0; r<words.size(); r++)
System.out.print(words.get(r) + " ");
}
}
你有沒有實現自己的排序或剛需分類?如果你只是想嘗試Collections.sort(單詞)。按字母順序排序。 – arynaq 2013-05-11 22:08:44
我認爲他是一名學生;學生應該至少手動做一次。 – 2013-05-11 22:09:29
是的,我是一名學生,Collection.sort概念對我並不好,因爲我正在嘗試學習如何修改插入方法以對字符串進行排序。 – Johngianni 2013-05-11 22:18:25