Ce face List.size
size() returnează numărul de elemente, iar isEmpty() returnează true când size() este 0. Pentru o listă, pozițiile valide sunt de la 0 la size() - 1.
clear() golește lista: după apel, size() este 0. Obiectul listă rămâne același, deci toate variabilele care îl referă văd lista goală. Pe listele nemodificabile, clear() aruncă UnsupportedOperationException.
Ce returnează
size: un int. isEmpty: true/false. clear: nimic.
Exemple
Exemplul 1: Numărarea și golirea coșului
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> cos = new ArrayList<>(List.of("cafea", "zahăr", "lapte"));
System.out.println("Produse: " + cos.size() + ", gol: " + cos.isEmpty());
cos.clear();
System.out.println("După plată: " + cos + ", size = " + cos.size() + ", gol: " + cos.isEmpty());
}
}
Rezultat
Produse: 3, gol: false
După plată: [], size = 0, gol: true
Exemplul 2: clear afectează toate referințele
b nu este o copie, ci aceeași listă cu alt nume. După a.clear(), și b este goală; copia făcută cu new ArrayList<>(a) rămâne neatinsă.
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> a = new ArrayList<>(List.of(1, 2, 3));
List<Integer> b = a;
List<Integer> copie = new ArrayList<>(a);
a.clear();
System.out.println("a = " + a + ", b = " + b + ", copie = " + copie);
}
}
Rezultat
a = [], b = [], copie = [1, 2, 3]
Greșeli frecvente
- Verifici
lista.size() == 0peste tot. Merge, darisEmpty()spune mai clar ce vrei. - Confunzi
size()(liste) culength(array-uri) șilength()(String). - Apelezi
lista.size()pe o variabilănull: apareNullPointerException. Inițializează listele cu o listă goală, nu cunull.
Comenzi înrudite
List.get: get citește elementul de la o poziție; set îl înlocuiește și returnează valoarea veche.List.remove: Șterge elementul de la o poziție sau prima apariție a unei valori; elementele de după se mută la stânga.Map.size: size() spune câte perechi cheie → valoare are map-ul, isEmpty() dacă e gol, clear() le șterge pe toate.Set.size: size() spune câte elemente distincte are mulțimea, isEmpty() dacă e goală, iar clear() le șterge pe toate.Collection: Interfața de bază pentru liste, mulțimi și cozi: metodele comune add, remove, contains, size și parcurgerea cu for-each.