Ce face Set.size
size() returnează numărul de elemente. Pentru că o mulțime nu ține duplicate, este numărul de valori distincte adăugate. isEmpty() este echivalent cu size() == 0, dar se citește mai clar.
clear() golește mulțimea; obiectul rămâne același și poate fi refolosit. Pe mulțimile nemodificabile (Set.of) aruncă UnsupportedOperationException.
Ce returnează
size: int. isEmpty: boolean. clear: nimic.
Exemple
Exemplul 1: Câți vizitatori unici?
import java.util.HashSet;
import java.util.Set;
public class Main {
public static void main(String[] args) {
String[] accesari = {"ip1", "ip2", "ip1", "ip3", "ip2", "ip1"};
Set<String> unici = new HashSet<>();
for (String ip : accesari) {
unici.add(ip);
}
System.out.println("Accesări: " + accesari.length + ", vizitatori unici: " + unici.size());
unici.clear();
System.out.println("După clear: " + unici.size() + ", goală: " + unici.isEmpty());
}
}
Rezultat
Accesări: 6, vizitatori unici: 3
După clear: 0, goală: true
Exemplul 2: Verifică dacă toate valorile sunt diferite
import java.util.List;
import java.util.TreeSet;
public class Main {
static boolean toateDiferite(List<Integer> numere) {
return new TreeSet<>(numere).size() == numere.size();
}
public static void main(String[] args) {
System.out.println(toateDiferite(List.of(7, 3, 9, 1)));
System.out.println(toateDiferite(List.of(7, 3, 7, 1)));
}
}
Rezultat
true
false
Greșeli frecvente
- Scrii
set.size() == 0peste tot. Merge, darisEmpty()e mai clar. - Apelezi
clear()pe o mulțime primită ca parametru de la alt cod, care încă o folosește. Ambele părți văd aceeași mulțime, acum goală.
Comenzi înrudite
Set: Interfața pentru mulțimi: colecții fără duplicate, în care întrebi rapid dacă un element există.List.size: size spune câte elemente are lista, isEmpty verifică dacă e goală, iar clear șterge toate elementele.Map.size: size() spune câte perechi cheie → valoare are map-ul, isEmpty() dacă e gol, clear() le șterge pe toate.Set.add: Adaugă un element în mulțime doar dacă nu există deja; returnează true dacă a fost adăugat. addAll face reuniunea.