HashSet<T>, SortedSet<T>, Queue<T>, Stack<T>
Benzersiz kümelerle sıralı kümeler ve FIFO/LIFO koleksiyonları arasındaki farkı anlayın; Add/Contains, Enqueue/Dequeue ve Push/Pop işlemlerini uygulayın.
HashSet<T>, SortedSet<T>, Queue<T>, Stack<T>, CoddyKit'te ücretsiz bir C# Academy dersidir. Bu, 3 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C# Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C# Academy kursu toplamda 3 dersten oluşur.
Koleksiyonların yapıları
Amaç: Doğru koleksiyonu seçmek.
- HashSet<T>: benzersiz değerler, hızlı arama
- SortedSet<T>: benzersiz ve sıralı değerler
- Queue<T>: FIFO
- Stack<T>: LIFO
HashSet temelleri
HashSet<T> benzersiz değerleri tutar; Add yinelenenlerde false döndürür; Contains hızlıdır.
using System;
using System.Collections.Generic;
public class Program
{
public static void Main(string[] args)
{
HashSet<string> tags = new HashSet<string>();
bool a1 = tags.Add("red"); // true
bool a2 = tags.Add("blue"); // true
bool a3 = tags.Add("red"); // false (duplicate ignored)
Console.WriteLine("Has red? " + tags.Contains("red"));
Console.WriteLine("Count = " + tags.Count); // 2
}
}
SortedSet temelleri
SortedSet<T>, öğeleri eklediğiniz sırada benzersiz ve sıralı tutar.
using System;
using System.Collections.Generic;
public class Program
{
public static void Main(string[] args)
{
SortedSet<int> scores = new SortedSet<int>();
scores.Add(30);
scores.Add(10);
scores.Add(20);
scores.Add(20); // duplicate ignored
foreach (int s in scores)
{
Console.WriteLine(s); // 10, 20, 30 (sorted ascending)
}
Console.WriteLine("Min = " + (scores.Count > 0 ? scores.Min : 0));
Console.WriteLine("Max = " + (scores.Count > 0 ? scores.Max : 0));
}
}
Queue (FIFO)
Queue<T>, FIFO düzenindedir: Enqueue → Dequeue. Öğeyi kaldırmadan incelemek için Peek kullanın.
using System;
using System.Collections.Generic;
public class Program
{
public static void Main(string[] args)
{
Queue<string> q = new Queue<string>();
q.Enqueue("A");
q.Enqueue("B");
q.Enqueue("C");
Console.WriteLine("Peek = " + q.Peek()); // A
Console.WriteLine(q.Dequeue()); // A
Console.WriteLine(q.Dequeue()); // B
Console.WriteLine("Count = " + q.Count); // 1
}
}
Stack (LIFO)
Stack<T>, LIFO düzenindedir: Push → Pop. Peek, üstteki öğeyi inceler.
using System;
using System.Collections.Generic;
public class Program
{
public static void Main(string[] args)
{
Stack<int> st = new Stack<int>();
st.Push(1);
st.Push(2);
st.Push(3);
Console.WriteLine("Peek = " + st.Peek()); // 3
Console.WriteLine(st.Pop()); // 3
Console.WriteLine(st.Pop()); // 2
Console.WriteLine("Count = " + st.Count); // 1
}
}
Seçim ipuçları
Kısa başvuru:
- Benzersizlik ve hızlı arama gerekiyorsa → HashSet<T>
- Benzersizlik ve sıralı düzen gerekiyorsa → SortedSet<T>
- Geliş sırasına göre işlemek için → Queue<T> (FIFO)
- Son geleni önce işlemek için → Stack<T> (LIFO)
Küme seçimi
Özet
Özet: Benzersizlik için kümeleri (HashSet, SortedSet) kullanın; sıralı işleme için FIFO (Queue) veya LIFO (Stack) seçin.
Sıkça Sorulan Sorular
“HashSet<T>, SortedSet<T>, Queue<T>, Stack<T>” dersi ücretsiz mi?
Evet — “HashSet<T>, SortedSet<T>, Queue<T>, Stack<T>” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C# Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C# Academy kursu toplamda 3 dersten oluşur.
“HashSet<T>, SortedSet<T>, Queue<T>, Stack<T>” dersinde ne öğreneceğim?
Benzersiz kümelerle sıralı kümeler ve FIFO/LIFO koleksiyonları arasındaki farkı anlayın; Add/Contains, Enqueue/Dequeue ve Push/Pop işlemlerini uygulayın. C# Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
C# Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te C# Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 1. dersidir.
“HashSet<T>, SortedSet<T>, Queue<T>, Stack<T>” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu C# Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her C# Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- HashSet , SortedSet , Queue , Stack
- ConcurrentDictionary ve değişmez koleksiyonlar
- Eşitlik ve özetleme (değer ve başvuru)