HashSet<T>
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
-
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); -
İfadeyi anlamına eşle
- HashSet<int>
- Benzersiz tamsayı
- set.Add(5)
- Eklemeyi dener
- set.Count
- Benzersiz sayı
- set.Contains(5)
- İçerir mi
-
İ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.