Ce face SplayTreeMap.firstKey
Pentru că SplayTreeMap ține cheile sortate, află imediat cheia minimă (firstKey()) și maximă (lastKey()). Pe un map gol, ambele returnează null.
Sunt metode, nu getter-e: se scriu cu paranteze.
Ce returnează
Cheia cea mai mică, respectiv cea mai mare, sau null.
Exemple
Exemplul 1: Prima și ultima comandă a zilei
import 'dart:collection';
void main() {
final comenzi = SplayTreeMap<int, String>.of({
1430: 'pizza',
915: 'cafea',
1205: 'salată',
1850: 'supă',
});
print('Prima la ${comenzi.firstKey()}: ${comenzi[comenzi.firstKey()]}');
print('Ultima la ${comenzi.lastKey()}: ${comenzi[comenzi.lastKey()]}');
final gol = SplayTreeMap<int, String>();
print(gol.firstKey());
}
Rezultat
Prima la 915: cafea
Ultima la 1850: supă
null
Exemplul 2: Cel mai mic preț dintr-o ofertă
import 'dart:collection';
void main() {
final oferte = SplayTreeMap<double, String>();
oferte[249.99] = 'eMag';
oferte[239.50] = 'Altex';
oferte[255.00] = 'Flanco';
final minim = oferte.firstKey()!;
print('Cel mai ieftin: ${oferte[minim]} cu $minim lei');
print('Cel mai scump: ${oferte.lastKey()} lei');
}
Rezultat
Cel mai ieftin: Altex cu 239.5 lei
Cel mai scump: 255.0 lei
Greșeli frecvente
- Scrii
m.firstKeyfără paranteze, ca lafirst. Este o metodă:m.firstKey().
Comenzi înrudite
SplayTreeMap: Map care ține cheile mereu sortate; parcurgerea și print dau cheile în ordine crescătoare.SplayTreeMap.firstKeyAfter: firstKeyAfter dă cea mai mică cheie mai mare decât cea dată; lastKeyBefore dă cea mai mare cheie mai mică.Iterable.first: first și last dau primul și ultimul element; single dă singurul element și verifică faptul că este unul singur.