Ce face Map.size
size() returnează numărul de perechi, adică numărul de chei distincte. isEmpty() este true când nu există nicio pereche.
clear() șterge toate perechile; obiectul map rămâne și poate fi refolosit. Vederile obținute înainte (keySet(), values()) devin și ele goale. Pe Map.of aruncă UnsupportedOperationException.
Ce returnează
size: int. isEmpty: boolean. clear: nimic.
Exemple
Exemplul 1: Coșul de cumpărături
import java.util.LinkedHashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<String, Integer> cos = new LinkedHashMap<>();
System.out.println("Coș gol: " + cos.isEmpty());
cos.put("cafea", 1);
cos.put("lapte", 2);
cos.put("cafea", 3);
System.out.println("Produse diferite: " + cos.size() + " " + cos);
cos.clear();
System.out.println("După plată: " + cos.size() + ", gol: " + cos.isEmpty());
}
}
Rezultat
Coș gol: true
Produse diferite: 2 {cafea=3, lapte=2}
După plată: 0, gol: true
Exemplul 2: Vederile se golesc odată cu map-ul
import java.util.Collection;
import java.util.Map;
import java.util.TreeMap;
public class Main {
public static void main(String[] args) {
Map<String, Integer> note = new TreeMap<>(Map.of("Ana", 9, "Radu", 8));
Collection<Integer> valori = note.values();
System.out.println(valori);
note.clear();
System.out.println(valori + " " + valori.size());
}
}
Rezultat
[9, 8]
[] 0
Greșeli frecvente
- Crezi că
size()numără valorile distincte. Numără perechile; două chei cu aceeași valoare contează de două ori. - Apelezi
clear()pe un map primit de la alt cod care încă îl folosește. Ambii văd același map gol.
Comenzi înrudite
Map: Interfața pentru dicționare: perechi cheie → valoare, în care găsești rapid valoarea după cheie. Cheile sunt unice.Set.size: size() spune câte elemente distincte are mulțimea, isEmpty() dacă e goală, iar clear() le șterge pe toate.List.size: size spune câte elemente are lista, isEmpty verifică dacă e goală, iar clear șterge toate elementele.Map.remove: Șterge perechea cu cheia dată și returnează valoarea ei (sau null). Varianta cu două argumente șterge doar dacă valoarea se potrivește.