Kotlin Collections

Recep Yeşilkaya
3 min readApr 25, 2021

--

Herkese Selamlar, Bugün Kotlin Collections üzerine sohbet edeceğiz. Kahveler tamamsa hızlıca sohbete başlayalım. ☕️

Collections aynı türde veya farklı türdeki verilerin tek bir değişkende ifade edilmesidir. Bu değişken içerisindeki veriler ile çeşitli algoritmaları ve veri yapılarını kurgulayabiliriz. Bu sayede,

  • Kod geliştirirken zaman kazanmamızı,
  • Çeşitli algoritmaları kurgularken destek almamızı,
  • Veriler üzerinde işlemler gerçekleştirirken destekleyici veri yapılarını kullanmamızı

oldukça kolay bir hale getirir.

Collections Türleri

  • List
  • Set
  • Map

List

  • Dinamik bir yapıya sahiptir bu sayede değişken tanımlarken veri boyutu belirtmeniz gerekmez.
  • mutable ve immutable tanımlama yapılabilir.

List Tanımlamaları

  • Immutable tanımlı listelerde get işlemini gerçekleştirirken, set işlemlerini gerçekleştiremezsin. Her iki işlemi de yapmak isterseniz mutable olarak tanımlama yapmanız gerekecektir.

Set

  • List ile benzer bir yapıya sahiptir. Aralarında önemli bir fark Set içerisinde değerler unique olarak tutulur.
  • mutable ve immutable tanımlama yapılabilir.

Set Tanımlamaları

List kavramında bahsettiğimiz mutable ve immutable kavramları set içerisinde farklılık göstermemektedir.

Map

  • Key-Value tanımlası içerir.
  • mutable ve immutable tanımlama yapılabilir.

Map Tanımlamaları

Senaryonuzda verileri bir key ile ifade etmek isterseniz o zaman Map sizler için çok kullanışlı olacaktır. Aynı şekilde mutable ve immutable tanımlamaları Map için de geçerlidir.

Kotlinde Collections nasıl tanımlanır? aralarındaki farklar nelerdir? bu konular üzerine biraz sohbet ettik. Şimdi ise Iterator ve Sequences kavramlarına değinip ardından yazımızı sonlandıralım.

Iterator

Iterator verileri sırayla gezerek yapılacak işlemleri gerçekleştirmemize imkan sağlar.

Iterator Tanımlamaları

  • Oluşturduğunuz listeleri .iterator() ile dönüştürebilirsiniz. Iterator içerisindeki verileri hasNext() ve next() ile gezip işlemlerinizi gerçekleştirebilirken bir önceki verinin değerine ulaşamazsınız. Aynı yapıyı forEach ile de elde edebilirsiniz.
  • listIterator ile veriler içerisinde hasPrevious ve previous özelliğini kullanabilirsiniz. Bu sayede liste içerisinde bir önceki verilerin değerlerine ulaşabilirsiniz.
  • mutableList ile çalıştığınız takdirde veriler üzerinde ekleme, silme ve güncelleme işlemlerini gerçekleştirebilirsiniz.

Sequences

Sequences liste içerisindeki işlem adımlarını tek tek item’lar seviyesinde gerçekleştirir. Bu yaklaşım bizlere performans konusunda katkı sağlamaktadır.

Sequences Tanımlamaları

sequenceOf ile tanılama yapılabilirken, var olan listede asSequence() dönüşümü de gerçekleştirilebilir.

Collections vs sequences — eager vs lazy evaluation

Dilerseniz Collections ve Sequences farkını buradan keyifli bir örnek ile inceleyebilirsiniz.

Kotlin Collections sohbetimizin sonuna geldik. Bir sonraki yazımda Collection Operators’ı konuk edineceğim. Şimdilik Hoşçakalın 👋

Keyifli Kodlamalar, Keyifli Okumalar.

Kaynaklar:

--

--