List.size în Java

size spune câte elemente are lista, isEmpty verifică dacă e goală, iar clear șterge toate elementele.

Sintaxă
int size()
boolean isEmpty()
void clear()

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() == 0 peste tot. Merge, dar isEmpty() spune mai clar ce vrei.
  • Confunzi size() (liste) cu length (array-uri) și length() (String).
  • Apelezi lista.size() pe o variabilă null: apare NullPointerException. Inițializează listele cu o listă goală, nu cu null.

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.