Benötigen Sie Erläuterungen zur Verarbeitung von Arraylist-Werten durch diesen Code

public static void mystery1(ArrayList<Integer> list) { 
for (int i = list.size() - 1; i > 0; i--) { 
    if (list.get(i) < list.get(i - 1)) { 
        int element = list.get(i); 
        list.remove(i); 
        list.add(0, element); 
    } 
} 
System.out.println(list);
}

Ich versuche, die für die Ausgabe dieser Methode mit gegebenen Sätzen von zu lösenArrayList values . Nachdem ich darüber nachgesehen hatte, war ich mir ziemlich sicher, dass dieser Code den kleineren Wert eines Paares am Anfang der Liste verschieben würde. Ich habe eine ArrayList von Werten verwendet[2, 6, 1, 8] für die Eingabe und das Ergebnis war[1, 2, 6, 8], das war wie ich erwartet hatte. Aber für[30, 20, 10, 60, 50, 40] es hat produziert[10, 30, 40, 20, 60, 50] als ich erwartet hatte[40,50,10,20,30,60]. Kann mir deshalb bitte jemand erklären, wie dieser Code das eigentlich verarbeitetArraylist ? Vielen Dank!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage