Merhaba Arkadaşlar,
Mobilhanem.com sitemiz üzerinden anlattığımız Kotlin Dersleri yazı serimizde bu dersimizde Kotlin ArrayList kullanımını ve methodlarını anlatacağız.
Önceki yazılarımızda Array’den bahsetmiştik. Array’lerin data tutmak için kullanıldığını söylemiştik. O dersimizi okumadıysanız öncelikle o dersimizi okumanızı tavsiye ederim. Derse gitmek için tıklayınız.
Kotlin Arraylist
Array dersimize dikkat ederseniz bir arrayi oluşturmak için uzunluğunu arrayi oluştururken veriyoruz.
Örneğin:
val intArray = Array
val intArray = Array<Int>(10){0} |
Yukarıdaki örnekte uzunluğu 10 olan ve başlangıç değerleri 0 olan bir array tanımladık. Fakat farkettiyseniz arrayi oluştururken her zaman başlangıç uzunluğunu vermek zorunda kaldık. 10’dan fazla item eklemeye kalktığımızda ise hata alacağız. Peki böyle bir durumda, yani belirsiz sayıda item eklememiz gerektiğinde ne yapacağız? İşte bunun için kotlin dilinde ArrayList’leri kullanabiliriz.
ArrayList’ler List interface’nden türetilmiştir. Interface’de ne ola ki dediğinizi duydum:) İlerleyen derslerimizde inşAllah anlatacağız. Şimdilik ArrayList’in List implementasyonu olduğunu bilmemiz ve bizim yerimize kendisi arka planda Array’i oluşturduğunu ve biz item ekledikce dolan Array’in yerine tekrardan daha uzun bir array oluşturduğunu bilmemiz yeterlidir. Yani ArrayList arka tarafta bir array tutar. Örneğin başlangıç uzunluğu 10 olan bir arrayi kendisi oluşturur ve biz item ekledikce 10 uzunluğuna ulaşır ulaşmaz / ve ya ulaşmadan 20 uzunluğunda başka bir array’i otomatik oluşturur ve ilk 10 elemanına eski arrayi yerleştirir. Böylelikle biz Kotlin ArrayList oluştururken başlangıç uzunluğunu vermemize gerek kalmaz.
Yukarıdaki anlattıklarım biraz detay olsada bilmenizde fayda vardır. Bilmeseniz bile ArrayList kullanımını anlamanıza engel değildir.
ArrayList tanımlamak
Yukarıda verdiğimiz detaylardan sonra artık gelelim Kotlin ArrayList’i nasıl tanımaladığımıza.
val arrayList: ArrayList
val arrayList2 = ArrayList
val arrayList: ArrayList val arrayList2 = ArrayList |
Yukarıda içinde String tutacak bir ArrayList tanımladık. Herhangi bir başlangıç uzunluğu vermedik. Aşağıda bir kaç farklı örnek daha vereyim.
val arrayList3 = ArrayList
val arrayList4 = ArrayList
val arrayList5 = ArrayList
val arrayList3 = ArrayList val arrayList4 = ArrayList val arrayList5 = ArrayList |
ArrayList’e item eklemek (add methodu)
ArrayList’e item eklemek için add() methodunu kullanırız.
val arrayList = ArrayList
arrayList.add(“Taha”)
arrayList.add(“Mobilhanem”)
arrayList.add(“Kotlin Dersleri”)
val arrayList2 = ArrayList
arrayList2.add(3)
arrayList2.add(5)
arrayList2.add(7)
val arrayList = ArrayList arrayList.add(“Taha”) arrayList.add(“Mobilhanem”) arrayList.add(“Kotlin Dersleri”)
val arrayList2 = ArrayList arrayList2.add(3) arrayList2.add(5) arrayList2.add(7) |
Yukarıda add methodu ile tanımlamış olduğumuz arrayList’lerimize değerler atadık. Dikkat ettiyseniz ArrayList’i oluştururken <> parantezleri arasında bu ArrayList’in hangi data tipini tutacağını bildiriyoruz. Nedir bu parantezler (<>), kullanımı nasıl olur derseniz bu ilerleyen derslerde göreceğimiz Generics kullanımı olduğunu bilmeniz şimdilik yeterlidir.
Bir arrayList’i String tutacak şekilde oluşturduktan sonra artık String dışında bir ekleme yaptığımzda hata verecektir.
val arrayList = ArrayList
arrayList.add(“Taha”)
arrayList.add(“Mobilhanem”)
arrayList.add(“Kotlin Dersleri”)
arrayList.add(5) //hata
val arrayList = ArrayList arrayList.add(“Taha”) arrayList.add(“Mobilhanem”) arrayList.add(“Kotlin Dersleri”) arrayList.add(5) //hata |
add() methodu eklenen itemi her zaman array’in en sonuna ekler. Ayrıca add methodu kullanarak istediğimiz indexe’de itemimizi yerleştirebilirz.
val arrayList = ArrayList
arrayList.add(“Taha”)
arrayList.add(“Mobilhanem”)
arrayList.add(“Kotlin Dersleri”)
arrayList.add(2,”Test”)
val arrayList = ArrayList arrayList.add(“Taha”) arrayList.add(“Mobilhanem”) arrayList.add(“Kotlin Dersleri”)
arrayList.add(2,“Test”) |
Yukarıda “Test” stringi artık arrayList’imizin 2. indexinde bulunmaktadır.
ArrayList’ten item almak (get methodu)
ArrayList’teki bir itemi almak için ise get methodu yada [ ] köşeli parantezleri içinde değerini almak istediğimiz index’i yazarız.
val arrayList = ArrayList
arrayList.add(“Taha”)
arrayList.add(“Mobilhanem”)
arrayList.add(“Kotlin Dersleri”)
arrayList.add(2,”Test”)
var deger1: String = arrayList.get(0) //ArrayListin 0. elemanını almak için
var deger2: String = arrayList.get(2) //ArrayListin 2. elemanını almak için
var deger3: String = arrayList[3] //ArrayListin 3. elemanını almak için
println(deger1) //Taha
println(deger2) //Test
println(deger3) //Kotlin Dersleri
val arrayList = ArrayList arrayList.add(“Taha”) arrayList.add(“Mobilhanem”) arrayList.add(“Kotlin Dersleri”) arrayList.add(2,“Test”)
var deger1: String = arrayList.get(0) //ArrayListin 0. elemanını almak için var deger2: String = arrayList.get(2) //ArrayListin 2. elemanını almak için var deger3: String = arrayList[3] //ArrayListin 3. elemanını almak için
println(deger1) //Taha println(deger2) //Test println(deger3) //Kotlin Dersleri |
ArrayList’ten item silmek (remove,removeAt)
ArrayList’ten item silmek için remove() ve removeAt(), methodlarını kullanırız.
remove() methodu ile eklediğimiz itemi methoda vererek silebiliriz. Nasıl yani ?
Yukarıda ki kod direk olarak eklemiş olduğumuz “Taha” stringini arrayList’imizden silecektir.
Bir indexteki itemi silmek istersek
ArrayList önemli method ve değişkenler
size değişkeni
ArrayList’in uzunluğunu dönen bir değişkendir. Yani kaç item eklenmiş olduğu bilgisini verir.
val uzunluk = arrayList.size // içinde kaç item olduğu bilgisini döner
val uzunluk = arrayList.size // içinde kaç item olduğu bilgisini döner |
contains() methodu
Bir itemin arrayList’in içinde olup olmadığı bilgisini boolean olarak geri döner. Eğer item arrayList’te mevcutsa true , değilse false döner
val arrayList = ArrayList
arrayList.add(“Mobilhanem”)
arrayList.contains(“Mobilhanem”) //true
arrayList.contains(“Taha”) //false
val arrayList = ArrayList arrayList.add(“Mobilhanem”)
arrayList.contains(“Mobilhanem”) //true arrayList.contains(“Taha”) //false |
isEmpty() methodu
ArrayList’in içinde item var mı yok mu yani arrayList boş mu değil mi bilgisini döner.
val arrayList = ArrayList
arrayList.add(“Taha”)
arrayList.isEmpty() //false çünkü 1 eleman var
val arrayList2 = ArrayList
arrayList2.isEmpty() //true çünkü eleman yok
val arrayList = ArrayList arrayList.add(“Taha”)
arrayList.isEmpty() //false çünkü 1 eleman var
val arrayList2 = ArrayList arrayList2.isEmpty() //true çünkü eleman yok |
clear() methodu
ArrayList’in tüm elemanları siler.
val arrayList = ArrayList
arrayList.add(“Taha”)
arrayList.add(“Mobilhanem”)
println(arrayList.size) //2
arrayList.clear()
println(arrayList.size)//0
val arrayList = ArrayList arrayList.add(“Taha”) arrayList.add(“Mobilhanem”)
println(arrayList.size) //2 arrayList.clear() println(arrayList.size)//0 |
indexOf() methodu
ArrayList’imizin içinde aradığımız item’in index’sini verir. Eğer aradığımız item arrayList’te yoksa -1 değeri döner.
val arrayList = ArrayList
arrayList.add(“Taha”)
arrayList.add(“Mobilhanem”)
arrayList.indexOf(“Mobilhanem”) // 1
arrayList.indexOf(“Test”) //-1
val arrayList = ArrayList arrayList.add(“Taha”) arrayList.add(“Mobilhanem”)
arrayList.indexOf(“Mobilhanem”) // 1 arrayList.indexOf(“Test”) //-1 |
equals() methodu
İki ArrayList’i karşılaştırmak için kullanılır , yani ArrayList’ler aynı elemanlara sahip mi değil mi?
val arrayList = ArrayList
arrayList.add(“Taha”)
val arrayList2 = ArrayList
arrayList2.add(“Taha”)
println(arrayList.equals(arrayList2)) // true döner
val arrayList = ArrayList arrayList.add(“Taha”)
val arrayList2 = ArrayList arrayList2.add(“Taha”)
println(arrayList.equals(arrayList2)) // true döner |
ArrayList for ve foreach döngüsü
Çoğu zaman arrayList’in elemanlarını tek tek gezmemiz ve her bir itemine ulaşmamız gerekir. Bunu for döngüsü ve ya foreach döngüsü ile yapabiliriz. Öncelikle for döngüsü ile başlayalım.
val arrayList = ArrayList
arrayList.add(“Taha”)
arrayList.add(“Mobilhanem”)
arrayList.add(“Kotlin Dersleri”)
arrayList.add(“Test”)
for(str in arrayList){
println(str)
}
Konsol Çıktısı:
Taha
Mobilhanem
Kotlin Dersleri
Test
val arrayList = ArrayList arrayList.add(“Taha”) arrayList.add(“Mobilhanem”) arrayList.add(“Kotlin Dersleri”) arrayList.add(“Test”)
for(str in arrayList){</strong> println(str)</strong> }</strong>
Konsol Çıktısı: Taha Mobilhanem Kotlin Dersleri Test |
Yukarıda for döngüsü içinde arrayList’in tüm elemanları tek tek str değişkenine atadık ve sonrasında ekrana bastırdık.
Genel olarak ArrayList ve diğer listeleri dolaşırken for yerine foreach döngüsü kullanırız.
val arrayList = ArrayList
arrayList.add(“Taha”)
arrayList.add(“Mobilhanem”)
arrayList.add(“Kotlin Dersleri”)
arrayList.add(“Test”)
arrayList.forEach { str ->
println(str)
}
Konsol Çıktısı:
Taha
Mobilhanem
Kotlin Dersleri
Test
val arrayList = ArrayList arrayList.add(“Taha”) arrayList.add(“Mobilhanem”) arrayList.add(“Kotlin Dersleri”) arrayList.add(“Test”)
arrayList.forEach { str -> println(str) }
</strong>Konsol Çıktısı: Taha Mobilhanem Kotlin Dersleri Test |
Yukarıdaki işlemde ise değerlerimiz tek tek yazmış olduğumuz str değişkenine atanıyor. Sonradan ekrana bastırıyoruz. Biz ekrana bastırma işlemlerini yaptık fakat siz farklı işlemler yaptırabilirsiniz.
Bu dersimde anlatmak istediklerim bu kadar. Bir sonraki dersimde Set Kullanımını ve methodlarını anlatacağım.
Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı yine konu altından ve Mobilhanem Soru&Cevap bölümünden sorabilirsiniz.
Tüm Kotlin Dersleri için tıklayınız.
7