Junior
Koja je razlika između List i Set u Dart?
sobes.tech АИ
Одговор од АИ
Glavne razlike:
- Sadržaj: List može sadržavati duplikate, Set čuva samo jedinstvene elemente.
- Redosled: List održava redosled dodavanja elemenata, Set ne garantuje redosled.
- Performanse:
- Dodavanje/brisanje: U proseku, operacija dodavanja/brisanja elementa u Set je brža (O(1)) zahvaljujući korišćenju heširanja. Za List, ove operacije mogu biti sporije (do O(n)) u zavisnosti od pozicije.
- Pretraživanje: U Set, pretraživanje elementa po vrednosti je brže (O(1) u proseku) zahvaljujući heširanju. U List, pretraživanje po vrednosti zahteva prolazak kroz listu (O(n)). Pristup elementu po indeksu u List je brz (O(1)).
Primeri:
// List - dozvoljava duplikate, održava redosled
List<int> numbersList = [1, 2, 2, 3, 1];
print(numbersList); // Izlaz: [1, 2, 2, 3, 1]
print(numbersList[0]); // Izlaz: 1 (pristup po indeksu)
// Set - samo jedinstveni elementi, redosled nije garantovan
Set<int> numbersSet = {1, 2, 2, 3, 1};
print(numbersSet); // Izlaz: {1, 2, 3} (redosled može varirati)
// print(numbersSet[0]); // Greška: Set ne podržava pristup po indeksu
print(numbersSet.contains(2)); // Izlaz: true (brzo pretraživanje)