Sobes.tech
Junior

Dart-də List və Set arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Əsas fərqlər:

  • Məzmun: List təkrarlanan elementlərə icazə verir, Set yalnız unikal elementləri saxlayır.
  • Sıra: List elementlərin əlavə olunma sırasını saxlayır, Set isə sıralamanı təmin etmir.
  • Performans:
    • Əlavə etmə/silme: Orta hesabla, Set-də element əlavə etmə/silme əməliyyatı (O(1)) daha sürətlidir, hashing istifadə olunduğu üçün. List üçün bu əməliyyatlar daha yavaşdır (O(n) qədər) yerləşməyə görə.
    • Axtarış: Set-də, dəyərə görə axtarış daha sürətlidir (O(1) orta hesabla), hashing sayəsində. List-də, dəyərə görə axtarış listi başdan sona keçməyi tələb edir (O(n)). List-də indekslə giriş sürətlidir (O(1)).

Nümunələr:

// List - təkrarlanan elementlərə icazə verir, sıralama saxlanılır
List<int> numbersList = [1, 2, 2, 3, 1];
print(numbersList); // Çıxış: [1, 2, 2, 3, 1]
print(numbersList[0]); // Çıxış: 1 (indeks ilə giriş)

// Set - yalnız unikal elementlər, sıralama zəmanət edilmir
Set<int> numbersSet = {1, 2, 2, 3, 1};
print(numbersSet); // Çıxış: {1, 2, 3} (sıra dəyişə bilər)
// print(numbersSet[0]); // Xəta: Set indekslə girişə dəstək vermir
print(numbersSet.contains(2)); // Çıxış: true (sürətli axtarış)