Ce face Collections.reverse
Collections.reverse(lista) întoarce lista: primul element devine ultimul și invers. Lista se modifică pe loc. Dacă vrei doar să parcurgi invers fără să modifici lista, din Java 21 există lista.reversed(), care returnează o vedere inversată.
Collections.swap(lista, i, j) schimbă elementele de pe pozițiile i și j. Pozițiile în afara listei aruncă IndexOutOfBoundsException.
Parametri
| Parametru | Descriere |
|---|---|
list |
Lista modificată. |
i, j |
Pozițiile elementelor schimbate (pentru swap). |
Ce returnează
Nimic (void).
Exemple
Exemplul 1: Clasament de la ultimul la primul
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> sosiri = new ArrayList<>(List.of("Ana", "Radu", "Elena", "Mihai"));
Collections.reverse(sosiri);
System.out.println("De la ultimul sosit: " + sosiri);
}
}
Rezultat
De la ultimul sosit: [Mihai, Elena, Radu, Ana]
Exemplul 2: Schimbarea a doi elevi între ei
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> banci = new ArrayList<>(List.of("Ana", "Radu", "Elena", "Mihai"));
Collections.swap(banci, 0, 3);
System.out.println(banci);
try {
Collections.swap(banci, 1, 10);
} catch (IndexOutOfBoundsException e) {
System.out.println("Poziția 10 nu există");
}
}
}
Rezultat
[Mihai, Radu, Elena, Ana]
Poziția 10 nu există
Greșeli frecvente
- Aștepți ca
reversesă returneze lista inversată. Returneazăvoidși modifică lista primită. - Folosești
reverseca să sortezi descrescător o listă nesortată. Întâi sortează, apoi inversează, sau sortează direct cuComparator.reverseOrder().
Comenzi înrudite
List.reversed: Returnează o vedere a listei în ordine inversă; nu copiază elementele și urmărește modificările listei originale.Collections.sort: Sortează o listă pe loc: crescător după ordinea naturală sau după un Comparator dat. Echivalent cu lista.sort(…).Collections.shuffle: Amestecă aleatoriu elementele unei liste, pe loc. Cu un Random cu seed fix, amestecarea iese la fel la fiecare rulare.List.get: get citește elementul de la o poziție; set îl înlocuiește și returnează valoarea veche.