Kotlin’de Örneklerle Koleksiyon #1
Modern programlama dilleri alanında, Kotlin kendine has anahtar kelimeleri, etkileşim yeteneği ve ifade kabiliyetiyle öne çıkıyor. Temiz koleksiyon yapısı, veri manipülasyonunu etkili bir şekilde yönetmek için çok yönlü araç seti sunan Kotlin’in temel güçlerinden birini oluşturuyor. Kotlin konusunda deneyimli bir geliştirici olun ya da yeni başlıyorsanız, dilin potansiyelini tam anlamak için koleksiyon yapısını anlamak önemlidir. Makalenin 2. bölümüne aşağıdaki linktne ulaşabilirsiniz, iyi okumalar dilerim.
Hadi Kotlin koleksiyonlarının inceliklerini keşfedelim, nasıl kodu basitleştirdiklerini, okunabilirliği nasıl artırdıklarını ve geliştiricilere şıklık ve verimlilikle çeşitli görevlerle başa çıkma imkanı sunduklarını keşfedin.
Koleksiyonlar kendi arasında üç ana başlığa ayrılır:
Hadi örneklerle bu üç ana başlığı inceleyelim. (Makalemizin bu bölümünde üç ana başlıkta da kullanabileceğimiz koleksiyon operatörlerini ve list başlığının spesifik operatörlerini inceleyeceğiz.)
1. Koleksiyon Operatörleri ve List’in Spesifik Operatörleri
Kotlin’de List, sıralı bir öğe koleksiyonunu temsil eden temel bir koleksiyon türüdür. Kotlin standart kütüphanesinin bir parçasıdır ve öğelerine erişmek, bunları değiştirmek ve yinelemek için çeşitli yöntemler sağlar.
size
Listede kaç tane veri olduğunu döndürür. Örnekle göstermek istersek:
getOrNull ve getOrElse
getOrNull çağırılan indeksteki data yoksa null döndürür. getOrElse ise çağırılan indeksteki data yoksa onun yerine {} içerisine yazdığımız değeri döndürür. Örnekle göstermek istersek:
filter
filter ise girdiğimiz koşula göre listeyi filterliyor. Örnekle göstermek istersek:
forEach
Bu, listedeki her öğe üzerinde belirli bir işlemi gerçekleştirmek için kullanılan bir işlevdir. forEach, for ile benzerdir ancak forEach işlevi, işlemi tek bir satırda ifade edebilir ve koleksiyon üzerinde döngü işlemlerini gizleyebilir, bu da kodu daha okunabilir hale getirmeye yardımcı olmaktadır. Örnekle göstermek istersek:
Aynı örneği for ile yazmak istersek:
contains
contains listenin içerisindeki değeri aramak için kullanılır eğer aranan değer listenin içinde varsa true yoksa false olarak boolean değer döner. Örnekle göstermek istersek:
count
Belirli bir koşulu sağlayan bir listedeki öğelerin sayısını döndürmek için kullanılır. Örnekle göstermek istersek:
isEmpty
isEmpty, bir listenin boş olup olmadığını kontrol eder ve liste boşsa belirli bir değeri (alternatif bir değer) döndürür. Örnekle göstermek istersek:
subList
Kotlin’de, mevcut bir listeden bir alt liste elde etmek için subList fonksiyonunu kullanabilirsiniz. subList fonksiyonu iki parametre alır: alt listenin başlangıç indeksini ve bitiş indeksini. Örnekle göstermek istersek:
Linear Search (Doğrusal Arama)
indexOf, yazdığımız değerin dizindeki konumunu gösterir. lastIndexOf, listedeki yazdığımız değerin son dizinini gösterir. Örnekle göstermek istersek:
Sorting (Sıralama)
Kotlin’de, sıralama algoritması sayıları küçükten büyüğe doğru sıralarken, harfler için alfabetik sırayla, alfabetin ilk harfinden başlayarak son harfe kadar ilerler. Örnekle göstermek istersek:
Add (Veri Ekleme)
Kotlin’de add metodu ile listenin spesifik bir indeksine veri ekleyebilirsiniz. Örnekle göstermek istersek:
Update (Veriyi Güncelleme)
Kotlin’de update fonksiyonu ile spesifik indeksli bir veriyi değiştirebilirsiniz. Örnekle göstermek istersek:
fill() ise basitçe bütün verileri verilen değere eşitler. Örnekle göstermek istersek:
Remove (Veriyi Kaldırma)
Kotlin’de removeAt ile listedeki spesifik bir indeksle beraber o indekse eşit olan veriyi kaldırırsınız. Örnekle göstermek istersek:
Reverse ve Shuffle
reverse() ile listeyi ters çevirebilirsinzi. shuffle() ile de listeyi karıştırabilirsiniz. Örnekle göstermek istersek:
binarySearch
Belirli bir özelliği temsil eden bir alanı kullanarak sıralı bir liste arar. Örneğin, nesnelerin bir listesini, belirli bir özelliği temsil eden bir alanı kullanarak arayabilirsiniz. Örnekle göstermek istersek:
elementAtOrElse
Belirtilen indexteki öğeyi alır veya indeks geçerli değilse belirtilen bir varsayılan değeri döndürür. Örnekle göstermek istersek:
zipWithNext
Her bir sonraki öğe ile bir öğeyi eşleştirir. Bir çift, listedeki ilk ve son öğe hariç her öğe için oluşturulur. Örnekle göstermek istersek:
chunked
chunked() bir listenin elemanlarını belirli bir boyuttaki gruplara bölmek için kullanılır. Örnekle göstermek istersek:
distinctBy
Belirli bir veriyi dayalı alarak benzersiz öğeleri içeren yeni bir liste döndürür. Örnekle göstermek istersek:
partition
Belirli bir koşula dayalı olarak listeyi iki gruba böler. Örnekle göstermek istersek:
withIndex
Liste öğelerini ve bunların indekslerini içeren bir çift oluşturur. Örnekle göstermek istersek:
flatMap
flatmap(), her öğe için bir lambda ifadesini uygular ve her öğenin dönüşüm sonucunu içeren yeni bir liste oluşturur. Daha sonra, bu listelerin hepsini bir liste halinde birleştirir. Örnekle göstermek istersek:
all
Bütün verilerin belirli bir koşulu sağlayıp sağlamadığını kontrol etmek için kullanılır ve true veya false değerini döndürür. Örnekle göstermek istersek:
any
Belirli bir koşulu sağlayan en az bir öğe olup olmadığını kontrol etmek için kullanılır ve true veya false değerini döndürür. Örnekle göstermek istersek:
toSet
Bir listeyi bir küme veri yapısına dönüştürür. Örnekle göstermek istersek:
Sonuç
Kotlin programlama dilindeki temel koleksiyon yapıları ve operatörlerini keşfettik. List koleksiyonu üzerinden öğrendiğimiz fonksiyonlar, veri manipülasyonunu basitleştirir ve kod okunabilirliğini artırır. Kotlin koleksiyonları, geliştiricilere hızlı ve etkili veri yönetimi sağlar, temel işlemleri kolaylaştırır. Dokümantasyon ve standart kütüphane ise bu özelliklere kolay erişim sunar, geliştiricilere daha derin bir anlayış kazandırır.
HERKESE MUTLU YILLAR DİLERİM