TreeMap.firstKey în Java

firstKey() returnează cea mai mică cheie dintr-un TreeMap, lastKey() pe cea mai mare. Pe un map gol aruncă excepție.

Sintaxă
K firstKey()
K lastKey()

Map.Entry<K, V> firstEntry()
Map.Entry<K, V> lastEntry()

Ce face TreeMap.firstKey

Pentru că un TreeMap își ține cheile sortate, prima și ultima cheie se obțin direct cu firstKey() și lastKey(). Pe un map gol, ambele aruncă NoSuchElementException.

Dacă îți trebuie și valoarea, firstEntry() și lastEntry() returnează perechea întreagă (getKey(), getValue()) sau null pe un map gol. pollFirstEntry() o și scoate din map.

Ce returnează

Cea mai mică / cea mai mare cheie.

Exemple

Exemplul 1: Prima și ultima zi cu vânzări

import java.time.LocalDate;
import java.util.TreeMap;

public class Main {
    public static void main(String[] args) {
        TreeMap<LocalDate, Integer> vanzari = new TreeMap<>();
        vanzari.put(LocalDate.of(2026, 3, 14), 1200);
        vanzari.put(LocalDate.of(2026, 1, 5), 800);
        vanzari.put(LocalDate.of(2026, 6, 30), 2100);
        System.out.println("Prima zi: " + vanzari.firstKey());
        System.out.println("Ultima zi: " + vanzari.lastKey());
        System.out.println("Ultima pereche: " + vanzari.lastEntry());
    }
}

Rezultat

Prima zi: 2026-01-05
Ultima zi: 2026-06-30
Ultima pereche: 2026-06-30=2100

Exemplul 2: Cel mai mic și cel mai mare preț

import java.util.NoSuchElementException;
import java.util.TreeMap;

public class Main {
    public static void main(String[] args) {
        TreeMap<Integer, String> oferte = new TreeMap<>();
        oferte.put(1450, "Laptop A");
        oferte.put(2999, "Laptop B");
        oferte.put(1899, "Laptop C");
        System.out.println("Cel mai ieftin: " + oferte.firstEntry().getValue() + ", " + oferte.firstKey() + " lei");
        System.out.println("Cel mai scump: " + oferte.get(oferte.lastKey()));

        oferte.clear();
        System.out.println("firstEntry pe gol: " + oferte.firstEntry());
        try {
            oferte.firstKey();
        } catch (NoSuchElementException e) {
            System.out.println("firstKey pe gol: NoSuchElementException");
        }
    }
}

Rezultat

Cel mai ieftin: Laptop A, 1450 lei
Cel mai scump: Laptop B
firstEntry pe gol: null
firstKey pe gol: NoSuchElementException

Greșeli frecvente

  • Declari variabila ca Map<K, V> și nu găsești firstKey. Metoda este în TreeMap (și SortedMap).
  • Apelezi firstKey() pe un map care poate fi gol. Verifică isEmpty() sau folosește firstEntry().

Comenzi înrudite

  • TreeMap: Dicționar care ține cheile mereu sortate și oferă căutări de tip „prima cheie”, „cea mai apropiată cheie”, „intervalul de chei”.
  • TreeMap.ceilingKey: ceilingKey(x) găsește cea mai mică cheie mai mare sau egală cu x, floorKey(x) cea mai mare cheie mai mică sau egală.
  • TreeSet.first: first() returnează cel mai mic element al unui TreeSet, last() pe cel mai mare. Aruncă excepție dacă mulțimea e goală.
  • Map.entrySet: entrySet() dă perechile cheie-valoare ale unui map, ca obiecte Map.Entry; Map.entry(k, v) creează o astfel de pereche.