Programlamada, verileri saklamak ve üzerinde işlem yapmak için kullanılan birçok yapı vardır. Önceden bahsettiğimiz array’ler, temel veri yapılarına bir örnektir. Ancak, array’ler dışında da veri saklama ve işleme yöntemleri vardır. Bu yazıda, ArrayList ve Sözlük (Dictionary) gibi veri yapılarına odaklanacağız.
ArrayList’ler
ArrayList’ler, büyüyebilen array’ler olarak düşünülebilir. Array’lerin boyutunun sabit olduğunu ve tanımlandıktan sonra değiştirilemeyeceğini daha önce öğrenmiştik. Ancak, bazı durumlarda veri miktarını baştan tahmin etmek zor olabilir veya daha sonra yeni veriler eklemek isteyebilirsiniz. İşte bu durumlarda ArrayList’ler devreye girer.
ArrayList’ler başlangıçta belirli bir boyuta sahip olabilir, ancak ihtiyaç oldukça boyutları artar ve daha fazla veri saklayabilir. Bu, özellikle kullanıcıların veri ekleyebildiği uygulamalar için oldukça kullanışlıdır. Örneğin, bir uygulamada kaç kullanıcının kayıt olacağını baştan bilemezsiniz. Bu durumda, veri ekledikçe kendiliğinden büyüyebilen bir yapı olan ArrayList, uygun bir çözüm sunar.
Örnek:
Bir öğrenciler listesi oluşturmak istediğimizi düşünelim. Başlangıçta öğrenci sayısını bilmiyoruz, bu yüzden ArrayList kullanarak verileri ekledikçe listeyi büyütebiliriz.
ogrenciler = []
ogrenciler.append("Ayşe")
ogrenciler.append("Mehmet")
ogrenciler.append("Ali")
print(ogrenciler) # Çıktı: ['Ayşe', 'Mehmet', 'Ali']
Sözlükler (Dictionaries)
Sözlükler, verileri anahtar-değer (key-value) çiftleri olarak saklayan veri yapılarıdır. Array’lerde verilere bir indeks numarası ile ulaşılırken, sözlüklerde verilere onları tanımlayan anlamlı anahtarlarla ulaşılır. Bu, verileri daha düzenli ve anlaşılır bir şekilde organize etmeyi sağlar.
Bir sözlük oluşturduğunuzda, her bir veri bir anahtar ve bu anahtara karşılık gelen bir değer ile saklanır. Örneğin, bir marketteki ürünlerin fiyatlarını saklayan bir sözlük oluşturabilirsiniz. Bu sözlükte anahtar ürünün adı (örneğin, “elma”, “süt”, “ekmek”), değer ise bu ürünün fiyatı olacaktır.
Örnek:
Bir marketteki bazı ürünlerin fiyatlarını saklayan bir sözlük yapısı.
fiyatlar = {
"elma": 1,
"süt": 2,
"ekmek": 3
}
print(fiyatlar["ekmek"]) # Çıktı: 3
Bu örnekte, fiyatlar["ekmek"]
ifadesi ile ekmeğin fiyatını kolayca bulabiliyoruz. Bu sayede, verilerle çalışırken indeks numaraları yerine anlamlı anahtarlar kullanarak verilere daha hızlı ve kolay ulaşabiliriz.
Not: Sözlüklerde her anahtar benzersiz olmalıdır. Aynı anahtarla birden fazla değer saklanamaz. Ancak, aynı değeri farklı anahtarlarla saklamak mümkündür.
ArrayList’ler ve Sözlüklerin Karşılaştırılması
ArrayList’ler ve Sözlükler, farklı avantajlara sahip veri yapılarıdır ve kullanım durumlarına göre tercih edilirler:
- ArrayList’ler: Veri miktarının baştan tahmin edilemediği veya sık sık veri ekleme/çıkarma işlemlerinin yapıldığı durumlarda idealdir.
- Sözlükler: Verilerin anlamlı anahtarlarla organize edilmesi gerektiğinde, örneğin bir kullanıcının bilgilerini veya bir ürünün fiyatını saklarken kullanışlıdır.
Sonuç
ArrayList’ler ve Sözlükler, veri saklama ve işleme açısından güçlü araçlardır. Array’ler, ArrayList’ler ve Sözlükler, temel veri yapılarını anlamak için önemli adımlardır. Bu yapılar, daha karmaşık veri işlemleri ve algoritmalar için bir temel oluşturur. Verilerinizi doğru veri yapıları ile saklayarak daha etkin programlar geliştirebilirsiniz.