Set.size în Java

size() spune câte elemente distincte are mulțimea, isEmpty() dacă e goală, iar clear() le șterge pe toate.

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

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() == 0 peste tot. Merge, dar isEmpty() 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.