Ce face Queue.addFirst
addFirst(x) adaugă elementul în fața tuturor celorlalte; addLast(x) îl adaugă după ultimul. add(x) face același lucru ca addLast.
Ambele sunt rapide indiferent de mărimea cozii. Combinate cu removeFirst și removeLast, transformă coada într-o stivă sau într-o coadă cu priorități simple.
Parametri
| Parametru | Descriere |
|---|---|
value |
Elementul adăugat. |
Ce returnează
Nimic (void).
Exemple
Exemplul 1: Clientul cu prioritate trece în față
import 'dart:collection';
void main() {
final coada = Queue<String>()
..addLast('Ana')
..addLast('Mihai');
coada.addFirst('doamna Popescu (prioritate)');
coada.addLast('Ioana');
print(coada.toList());
}
Rezultat
[doamna Popescu (prioritate), Ana, Mihai, Ioana]
Exemplul 2: Istoricul paginilor vizitate
import 'dart:collection';
void main() {
final istoric = Queue<String>();
for (final pagina in ['/acasa', '/invata', '/invata/dart', '/contact']) {
istoric.addFirst(pagina);
}
print('Cea mai recentă: ${istoric.first}');
print('Ordine inversă: ${istoric.join(' <- ')}');
}
Rezultat
Cea mai recentă: /contact
Ordine inversă: /contact <- /invata/dart <- /invata <- /acasa
Greșeli frecvente
- Folosești
list.insert(0, x)de multe ori pe o listă mare. Fiecare inserare mută toate elementele; oQueuecuaddFirsteste mult mai rapidă.
Comenzi înrudite
Queue: Coadă la care adaugi și scoți rapid elemente la ambele capete (început și sfârșit).Queue.removeFirst: removeFirst scoate și returnează primul element al cozii; removeLast scoate și returnează ultimul element.List.insert: Inserează un element (insert) sau mai multe (insertAll) la o poziție, mutând restul la dreapta.