2012-05-21 39 views
-1

可能重複:
Sorted ArrayList not displaying?顯示ArrayList有和沒有排序?

代碼:

String title1 = "Original Order\n\n"; 
    String title2 = "Sorted Order\n\n"; 

    String collection = ""; 
    for (int i = 0; i < cdcollection.size(); i++) { 
    collection = collection + cdcollection.get(i); 
    } 
    mainTextArea.setText(title1 + collection); 


    Collections.sort(cdcollection); 

    String temp = ""; 
    for (int j = 0; j < cdcollection.size(); j++) { 
    temp += cdcollection.get(j); 
    } 
    mainTextArea.setText(title2 + temp); 
+0

這個問題沒有多大意義,所以我問了這個新問題。我沒有正確地說出這個問題,所以我沒有得到我正在尋找的答案。 – May

+1

[Edition](http://stackoverflow.com/posts/10692561/edit)。 – Alexander

+0

請正確縮進您的代碼。並提供完整且準確的錯誤消息。 –

回答

1

我把你的代碼沒有搖擺代碼和列表排序正確。見下面

public static void main(String[] args){ 
    ArrayList<String> cdcollection = new ArrayList(); 
    Collections.addAll(cdcollection, "renier\n", "mert\n", "rain\n", 
      "mylen", "dreb\n"); 

    String title1 = "Original Order\n\n"; 
    String title2 = "Sorted Order\n\n"; 

    String collection = ""; 
    for (int i = 0; i < cdcollection.size(); i++) { 
     collection = collection + cdcollection.get(i); 
    } 
    System.out.println(title1 + collection); 

    Collections.sort(cdcollection); 
    System.out.println(cdcollection); 
} 

的代碼爲循環使用你這裏

for (int j = 0; j < cdcollection.size(); j++) { 
     mainTextArea.setText(title2 + collection.get(j)); 
} 

不要添加title2在循環和循環中調用的setText將在寫舊文本。從列表中追加所有字符串中的臨時字符串和mainTextArea中的最後一個字符串。類似於

String temp = ""; 
for (int j = 0; j < cdcollection.size(); j++) { 
     temp += cdcollection.get(j)); 
} 
mainTextArea.setText(title2 + temp); 

但是,這絕對是亞歷山大提到的重複。你可以編輯同一個問題。

+0

對於這一行temp + = collection.get(j));我得到以下錯誤「無法找到符號 符號:方法獲取(INT) 位置:類java.lang.String」 – May

+0

我把你的代碼和粘貼。我將編輯它..它應該是cdcollection.get(j)。 – raddykrish

+0

編輯。請檢查。 – raddykrish

1

用以下替換您displayButtonActionPerformed方法的代碼:

mainTextArea.append("Original Order\n\n"); 

    for (String s:cdcollection) { 
     mainTextArea.append(s); 
     mainTextArea.append("\n"); 
    } 
    List<String> copy = new ArrayList<String>(cdcollection); 
    Collections.sort(copy); 

    mainTextArea.append("Sorted Order\n\n"); 
    for (String s:copy) { 
     mainTextArea.append(s); 
     mainTextArea.append("\n"); 
    } 

在第二次迭代中,您將遍歷「collection」而不是「cdcollection」。

調用setText()替換textarea的整個文本。改爲使用append()