Swift 5.2 : Giriş: Collection Types 1: Array – Set – Dictionary-(Swift Dizi Türleri)

Swift dilinde verileri toplu olarak saklamanın bir çok yolu var.Bu toplu veri türleri için elbette diziler bunların başında geliyor.Sadece diziler yok elbette.Swift dilinde biz bunlara Koleksiyon Türleri diyoruz.Koleksiyon türleleri 3 farklı yöntem sunuyor.Diziler,Küme’ler ,Sözlükler.

Collection Types Hakkında

Collection Types veri saklama yöntemlerinin amacı verileri saklayıp üzerinde değişiklik yapmak ve veri üzerinde modifiye etme hakkını bulunduru.Bu yüzden bir sabit kullanmak (let değişken) olarak tanımlarsanız herhangi bir şekilde değiştirilmez.Değişkenlerde olduğu gibi yani let kullanırsan geçmiş olsun.

Not:Koleksiyonun değişmesi gerekmeyen tüm durumlarda değişmez koleksiyonlar oluşturmak iyi bir uygulamadır. Bunu yapmak, kodunuz hakkında akıl yürütmenizi kolaylaştırır ve Swift derleyicisinin oluşturduğunuz koleksiyonların performansını optimize etmesini sağlar.

Arrays Syntax

Şimdi gelin örnek bir dizi oluşturalım dizimiz boş olsun şimdilik.

İnt veri tipi olarak boş bir dizi tanımladım.Ardından eleman sayısın ekrana bastım.Syntax oldukça basit zaten.Şimdi bu diziyi biraz modifiye edelim ve . index değerine bir veri ekleyelim.

Bakın gördüğünüz gibi 10 değerini ekledim ve artık dizim 1 elemana sahip.

Ardından dizim = [] ifade ise bellekte dizi elemanına atama yaptım ve tekrardan 0 elemanlı bir dizim oldu.

Default Değeri Olan Bir Dizi

Swift dilinde diziler konusunda varsayılan değer ekleyelebilirsin.2 farklı parametre ile bunu yapabilirsin.Default value ve tekrarlanma sayısı olarak parametre ekleyelim.

Birlikte İki Dizi Ekleyerek Dizi Oluşturma

Şimdi mydizi2 diye yeni bir dizi oluşturup iki veriyi birleştirelim.

Dizi İle Alışveriş Listesi Oluşturma

Bu konuda en yaygın örneği yapalım.Alışveriş listesini oluşturalım ve bu listeyi modifiye edelim.

Dizi değişmezindeki tüm değerler aynı türde olduğundan, Swift [String]marketListdeğişken için kullanılacak doğru tür olan çıkarımda bulunabilir .

Şimdi marketlist isimli dizime 2 eleman ekleyip sonrada dizimin boş olup olmadığını kontrol eden isEmpty (bool kullanır) komutunu kullandım.Şimdi bundan sonra ki örnekleri marketlist isimli dizim üzeriden devam edicem.

Dizimize Eleman Ekleme Ve Erişim

Dizimize eleman eklememin bir çok yolu var.Append ile de ekleyebilirim veya += operatörü ile de ekleyebilirim.

Bileniz gerek inde değerine göre ekler verileri. yani 0 -1 -2-3-4-5 şeklinde.Eğer özel bir index değeri ataması yapmadıysanız.Bakın istesek farklı değişkenede atayabilir herhangi bir index üzerinde ki veriyi.Direk olarak ise [] ifadesi ile index’e erişebilir ve ona yeni veri atayabilirim.

Bakında dizimin 3 ve 5 index degerinde ki veriler üzerinde değişiklik yaptık.

Dizimize yeni eleman eklemek.

insert(_:at:)Yönteme yapılan bu çağrı , alışveriş listesinin en başında ve değeri ile belirtilen yeni bir öğe ekler ."3 Kutu Süt" 0

İnsert burada aslında eklenen value’nın da hangi indexe atanacağını bildirebiliyor..

Dizi Elemanlarını Kaldırmak

Removelast ile son elemanı , remote (at:) ile isteidiğim indexi silebilrim.

Removal dersin dizim artık boş elemanlı bir dizi oldu.

Dizi Elemanlarına For-İn Döngüsü İle Erişmek

Henüz döngülere gelmedik ama for-in döngüsü ile dizi elemanları kolay bir şekilde erişebilirim ve modifiye edebilirim.Java dilinden aşina olduğumuz for-each döngüsü ile aynı mantıkta çalışır ama local bir değişken yapıp o değişken üzerinden dizi içinde ki elemanlara sıra sıra erişmek.

Dizimizde enumerated() komutu nedir ?

Mesela diyelim ki hem index değerine hem o index değerine erişmek istiyorsak yanı bize o lazımsa enumerated komutunu bu iş için kullanabilirim.Aslında bunun bir komuta gerek yoktu zaten for döngüsü ile biz bunu yapardık ama işte Swift böyle icatlar çıkarmış 🙂 Şimdi bildiğiniz gibi index değer 0 dan başlar.Şimdi buna erişemez ama 0 olsun istemiyoruz bir işlem yapcaız mesela ekrana basıcaz 0. deger gibi basmak istemiyorum bu yüzden +1 eklersem bu sorunu çözmüş olurum.

Kısacası enumerated() çağrıldığında int veri tipini döndürür.Dizi üzerinde yineleme yapmak için bunu kullanabilirsiniz.

Sadece dizilerde değil gelen veri tipinde de aynı şekilde enumerated kullanabilirsiniz.

Leave a Reply

*