Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 显示带排序和不带排序的ArrayList?_Java_Arrays_List_Sorting - Fatal编程技术网

Java 显示带排序和不带排序的ArrayList?

Java 显示带排序和不带排序的ArrayList?,java,arrays,list,sorting,Java,Arrays,List,Sorting,可能重复: 代码: String title1=“原始订单\n\n”; String title2=“排序顺序\n\n”; 字符串集合=”; 对于(int i=0;i

可能重复:

代码:

String title1=“原始订单\n\n”;
String title2=“排序顺序\n\n”;
字符串集合=”;
对于(int i=0;i
显示按钮操作执行的方法的代码替换为以下代码:

  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");
  }
mainTextArea.append(“原始订单\n\n”);
for(字符串s:cdcollection){
mainTextArea.append(s);
mainTextArea.append(“\n”);
}
列表副本=新的ArrayList(cdcollection);
收藏。分类(复印);
mainTextArea.append(“排序顺序\n\n”);
for(字符串s:复制){
mainTextArea.append(s);
mainTextArea.append(“\n”);
}
在第二次迭代中,您迭代“collection”而不是“cdcollection”


调用setText(),将替换textarea的整个文本。改为使用
append()

我使用了没有swing代码的代码,列表已正确排序。请参见下面的代码

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);
}

但这绝对是亚历山大提到的复制品。你可以编辑同一个问题。

这个问题没有多大意义,所以我问了这个新问题。我没有正确地回答那个问题,所以我没有得到我想要的答案。请正确地缩进你的代码。和上一个问题一样,您正在将
.get(j)
应用于数组!这不是有效的数组方法。您的代码是否编译?@vainolo
get
对于此行temp+=collection.get(j)),是一种有效的
List
方法;我得到了以下错误“找不到符号:方法get(int)位置:class java.lang.String”,我获取了您的代码并粘贴了它。我会编辑它。它应该是cdcollection.get(j)。谢谢,但现在它只显示排序的顺序…如果你能更新你问题中的最新代码就好了。我很乐意帮忙。@raddykrish:我在问,因为我猜他的一个错误不会发生在简化循环中。他现在改变了问题。
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));
 }
 String temp = "";
 for (int j = 0; j < cdcollection.size(); j++)  {
      temp += cdcollection.get(j));
 }
 mainTextArea.setText(title2 + temp);