CodeBlanks Logo Icon CodeBlanks

HashSet<T>

C# kursu · Başlangıç · Ders 69/116

HashSet<T> ile benzersiz eleman koleksiyonu öğrenirsin.

HashSet<T>

HashSet<T> benzersiz elemanlardan oluşan bir koleksiyondur. Aynı değeri iki kez eklemeye çalışırsan ikinci ekleme göz ardı edilir; listede tek kopya kalır.

Add yöntemi bool döner: eleman gerçekten eklendiyse true, zaten varsa false. Örnek: HashSet<int> set = new HashSet<int>(); set.Add(5);. Sıralama garanti edilmez; koleksiyon indekslenemez.

Küme işlemleri

HashSet<T> klasik küme işlemlerini destekler: UnionWith ile başka bir kümeyle birleştirir, IntersectWith ile kesişim alır, ExceptWith ile fark alırsın. Bu yöntemler mevcut kümeyi yerinde değiştirir.

Küme sırasız olduğu için elemanlara indeks ile erişilemez. foreach ile gezebilir, Contains ile bir elemanın varlığını hızlıca kontrol edebilirsin.

Uygulama Benzersiz şehirler

HashSet<string> cities = new HashSet<string>(); tanımla. Add ile sırayla "Ankara", "İzmir" ve "Ankara" değerlerini ekle (üçüncü tekrar olmalı). Sonra cities.Count'u Console.WriteLine ile yazdır.

Örnek çözümü göster
HashSet<string> cities = new HashSet<string>(); ile tanımla, üç kez cities.Add("..."); çağır (üçüncüsü tekrar), sonra Console.WriteLine(cities.Count); ile yazdır.
Örnek çözüm:
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        // 3 şehir ekle (biri tekrar) ve benzersiz sayıyı yazdır
        HashSet<string> cities = new HashSet<string>();
        cities.Add("Ankara");
        cities.Add("İzmir");
        cities.Add("Ankara");
        Console.WriteLine(cities.Count);
    }
}

Kendini test et

  1. HashSet Add

    HashSet<int> set = new HashSet<int>();
    ____
    Console.WriteLine(set.Count);
    Cevabı göster
    HashSet<int> set = new HashSet<int>();
    set.Add(5);
    Console.WriteLine(set.Count);
  2. İfadeyi anlamına eşle

    HashSet<int>
    Benzersiz tamsayı
    set.Add(5)
    Eklemeyi dener
    set.Count
    Benzersiz sayı
    set.Contains(5)
    İçerir mi
  3. İki kez Add sonrası set.Count çıktısı nedir?

    HashSet<int> set = new HashSet<int>();
    set.Add(5);
    set.Add(5);
    Console.WriteLine(set.Count);
    • 1
    • 2
    • 0
    • 5
    Cevabı göster

    1 — Doğru. İkinci Add göz ardı edilir; tek 5 kalır, Count 1 olur.

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