CodeBlanks Logo Icon CodeBlanks

Set

Set ile benzersiz koleksiyon öğrenirsin.

Set koleksiyonu

Set, Dart'ta benzersiz (unique) elemanların koleksiyonudur. Bir Set'e aynı değeri iki kez eklersen ikincisi yok sayılır; böylece Set, 'her eleman yalnızca bir kez' ilkesini kendiliğinden uygular.

Set, {a, b, c} literal yazımıyla veya Set<T> türüyle tanımlanır. Örnek: {'a', 'b', 'a'} sonuçu {a, b} olur; yinelenen 'a' otomatik elenir.

Set, listenin aksine elemanlara indeksle erişmez; contains ile 'içinde var mı?' sorusuna hızlı yanıt verir. Yinelenenleri engellemek istediğin her yerde Set kullanışlıdır.

Set oluşturma

Boş bir Set'i iki biçimde tanımlayabilirsin. İlki açık tür: Set<String> fruits = {};. İkincisi tür parametreli literal: var fruits = <String>{};. İkisi de aynı anlama gelir.

İçine eleman koyduğunanda literal kısa yol sunar: var fruits = <String>{'elma', 'armut'};. Burada <String> öneki süslü parantezin bir Map değil Set olduğunu belirtir.

Tür çıkarımı yapılırsa {} boş bir Map sanılabilir; bu yüzden boş Set için her zaman <T>{} veya Set<T> yazmak güvenlidir.

Uygulama Üç meyve yaz

Bir Set<String> oluştur; içine üç meyve ekle ve print ile yazdır. Yinelenenler otomatik elenir; yine de üç farklı meyve yaz.

Başlangıç kodu

main.dart
void main() {
  // Set oluştur ve üç meyve ekle

  // yazdır
}

Örnek çözüm

main.dart
void main() {
  Set<String> fruits = {'elma', 'armut', 'kiraz'};
  print(fruits);
}

Beklenen çıktı

{elma, armut, kiraz}

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Hangisi bir Set özelliğidir?

  • Yinelenen elemanlar
  • Benzersiz elemanlar Doğru cevap
  • Sabit boyut
  • Sıralı erişim

Açıklama: Set her değeri yalnızca bir kez tutar.

2 Set tanımla

Soru
void main() {
  var fruits = ____;
  print(fruits);
}
Cevap
void main() {
  var fruits = <String>{'elma', 'armut'};
  print(fruits);
}

Açıklama: <String>{} öneki bunun bir Set olduğunu belirtir.

3 Set parçalarını eşleştir

Kavram Anlamı
Set<String> String elemanlı Set türü
<String>{} Boş Set literal
{a, b} İki elemanlı Set literal
contains Üyelik sorgusu

Başlangıç bölümündeki tüm dersler