dart ile setów
Dart programlama diliyle set’ler (kümeler) kullanımı, özellikle benzersiz verilerle çalışırken oldukça etkilidir. Listelerden farklı olarak Set , aynı öğeyi birden fazla kez tutmaz. Aşağıda Dart’ta set’lerin nasıl oluşturulup yönetildiğini, örneklerle birlikte adım adım anlatıyorum.
dart ile setów
Quick Scoop
Dart dünyasında Set veri yapısı , hem performansı hem de veri bütünlüğü açısından temel bir araçtır. 2026 yılı itibarıyla Flutter ve Dart ekosisteminde set’lerin kullanımı; koleksiyon yönetimi, filtreleme ve veri karşılaştırması gibi alanlarda hızla yaygınlaşmaktadır.
🎯 Set Nedir?
Basitçe söylemek gerekirse:
"Set, aynı değeri birden fazla içermeyen, sırasız veri koleksiyonudur."
Özellikleri:
- Benzersiz öğeler içerir (duplicate olmaz).
- Eleman sırası önemli değildir.
- Performanslı arama işlemleri sunar (O(1) ortalama karmaşıklık).
Örnek:
dart
void main() {
var sayilar = <int>{1, 2, 3, 3};
print(sayilar); // Çıktı: {1, 2, 3}
}
Gördüğünüz gibi, yinelenen
3değeri tek bir kez tutulur.
🧩 Set Oluşturma Yöntemleri
-
Literal (Süslü parantez) yöntemiyle:
dart var meyveler = {'elma', 'armut', 'muz'}; -
Set constructor kullanarak:
dart var sehirler = Set<String>(); sehirler.add('Ankara'); sehirler.add('İzmir'); -
List’ten Set’e dönüştürme:
dart var tekrarEdenler = ['a', 'b', 'b', 'c']; var benzerOlmayanlar = tekrarEdenler.toSet(); print(benzerOlmayanlar); // {a, b, c}
🔄 Temel İşlemler
İşlem Adı| Açıklama| Örnek Kod
---|---|---
add()| Set’e yeni eleman ekler| set.add('elma')
remove()| Elemanı siler| set.remove('armut')
contains()| Belirli bir öğe var mı kontrol eder| set.contains('muz')
union()| İki set’in birleşimini verir| a.union(b)
intersection()| Ortak elemanları verir| a.intersection(b)
difference()| Farkını verir| a.difference(b)
🧠 Gerçek Hayatta Kullanım Senaryoları
1. Kullanıcı Rollerini Yönetme
dart
var roller = {'admin', 'moderator', 'user'};
roller.add('guest');
Sistemde aynı rol iki kez tanımlanmaz, bu sayede hata riski azalır.
2. Veri filtreleme
Web API’den gelen tekrarlı verilerde toSet() kullanarak clean data elde
edebilirsin:
dart
var tekrarlı = ['mango', 'apple', 'apple', 'banana'];
print(tekrarlı.toSet()); // {mango, apple, banana}
3. Kümeler Arası Karşılaştırma
dart
var a = {1, 2, 3};
var b = {3, 4, 5};
print(a.intersection(b)); // {3}
print(a.union(b)); // {1, 2, 3, 4, 5}
📈 2026 Trend Görünümü
Dart & Flutter ekosisteminde veri koleksiyon yönetimi giderek daha
fonksiyonel hale geliyor.
Yeni sürümlerde Set yapısının:
- unmodifiable (değiştirilemez) versiyonları,
- spread operatörleriyle kolay birleşimleri (
{...set1, ...set2}), - ve pattern matching destekleri gündemde.
Bu da Dart’ın modern veri işleme dillerine daha yakınlaşmasını sağlıyor.
💡 İpuçları
-
Her zaman
Settipini tanımlamaya çalış:dart Set<int> sayilar = {1, 2, 3}; -
Dönüştürme işlemlerinde
.toList()gibi metotlarla set’i yine listeye çevirebilirsin. -
Eğer sıralama gerekiyorsa
Setuygun değildir; bunun yerineListveyaLinkedHashSettercih edebilirsin.
🧾 TL;DR
- Set → Tekil ve sırasız koleksiyon.
- Duplicated element = yok.
- Yaygın işlemler:
add(),remove(),union(),intersection(). - Modern Dart (2026) →
Setfonksiyonelliğini artırmaya devam ediyor.
Bilgi Notu:
Information gathered from public forums or data available on the internet and
portrayed here.