Useful List Methods
forEachIndexed
//forEachIndexed, forEach ile aynı işi yapıyor. Sadece index değerini de alıyor.
//forEachIndexed does the same thing as forEach. It just takes the index value.
val list = listOf("a", "b", "c")
list.forEachIndexed { index, s ->
println("foreachindexed -> $index: $s")
}
filter
//filter, bir listeyi filtrelemek için kullanılıyor.
//filter is used to filter a list.
val list = listOf("a", "a", "c")
val result = list.filter { it == "a" }
println("filter -> $result")
find
//find, bir listeyi filtrelemek için kullanılıyor. Sadece ilk elemanı döndürüyor.
//find is used to filter a list. It only returns the first element.
val list = listOf("a", "ab", "c")
val result = list.find { it.contains("a") }
println("find -> $result")
findLast
//findLast, find ile aynı işi yapıyor. Sadece son elemanı döndürüyor.
//findLast does the same thing as find. It only returns the last element.
val list = listOf("a", "ab", "c")
val result = list.findLast { it.contains("a") }
println("findLast -> $result")
first
//first, bir listenin ilk elemanını döndürüyor.
//first returns the first element of a list.
val list = listOf("a", "b", "c")
val result = list.first()
println("first -> $result")
last
//last, bir listenin son elemanını döndürüyor.
//last returns the last element of a list.
val list = listOf("a", "c", "c")
val result = list.last()
println("last -> $result")
getOrNull
//getOrNull, bir listenin elemanını döndürüyor. Eğer eleman yoksa null döndürüyor.
//getOrNull returns an element of a list. If there is no element, it returns null.
val list = listOf("a", "b", "c")
val result = list.getOrNull(3)
println("getOrNull -> $result")
groupBy
//groupBy, bir listeyi gruplamak için kullanılıyor.
//groupBy is used to group a list.
val list = listOf("a", "a", "c")
val result = list.groupBy { it == "a" }
val resultValues = list.groupBy { it == "a" }.values
println("groupBy -> $result")
println("groupBy values -> $resultValues")
none
//none, bir listenin elemanlarını kontrol etmek için kullanılıyor. Eğer eleman yoksa true döndürüyor.
//none is used to check the elements of a list. If there is no element, it returns true.
val list = listOf("a", "a", "c")
val result = list.none { it == "a" }
println("none -> $result")
map
//map, bir listenin elemanlarını değiştirmek için kullanılıyor.
//map is used to change the elements of a list.
data class User(val name: String?, val age: Int?)
data class UserUI(val name: String, val age: Int)
val users = listOf(
User("Yağmur", 25),
User("Elif", 23),
User("Mehmet", 30),
User("Ayşe", 20),
User("Ali", 35),
User("Caner", 27),
)
val result = users.map {
UserUI(
it.name.orEmpty(),
it.age ?: 0
)
}
val resultMapByAge = result.map { it.age }
val resultMapByName = result.map { it.name }
println("map -> $result")
println("map by age -> $resultMapByAge")
println("map by name -> $resultMapByName")
reversed
//bir listeyi ters çevirmek için kullanılıyor
//reversed is used to reverse a list
val list = listOf("a", "b", "c")
val result = list.reversed()
println("reversed -> $result")
shuffled
//bir listeyi karıştırmak için kullanılıyor
//shuffled is used to shuffle a list
val list = listOf("a", "b", "c")
val result = list.shuffled()
println("shuffled -> $result")
sortedBy
//bir listeyi sıralamak için kullanılıyor
//sortedBy is used to sort a list
data class UserUI(val name: String, val age: Int)
val users = listOf(
UserUI("Yağmur", 25),
UserUI("Elif", 23),
UserUI("Mehmet", 30),
UserUI("Ayşe", 20),
UserUI("Ali", 35),
UserUI("Caner", 27),
)
val result = users.sortedBy { it.age }
val resultByDescending = users.sortedByDescending { it.age }
println("sortedBy -> $result")
println("sortedByDescending -> $resultByDescending")
sumOf
//bir listenin elemanlarının toplamını almak için kullanılıyor
//sumOf is used to get the sum of the elements of a list
val list = listOf(1, 2, 3)
val result = list.sumOf { it }
println("sumOf -> $result")
maxOf & maxBy
//maxOf ve maxBy birbirine çok benziyor. maxOf bir değer döndürürken, maxBy bir nesne döndürüyor.
//maxOf and maxBy are very similar to each other. maxOf returns a value, while maxBy returns an object.
data class UserUI(val name: String, val age: Int)
val users = listOf(
UserUI("Yağmur", 25),
UserUI("Elif", 23),
UserUI("Mehmet", 30),
UserUI("Ayşe", 20),
UserUI("Ali", 35),
UserUI("Caner", 27),
)
val resultMaxOf = users.maxOf { it.age }
val resultMaxBy = users.maxBy { it.age }
println("maxOf -> $resultMaxOf")
println("maxBy -> $resultMaxBy")
maxOf & maxBy
//minOf ve minBy birbirine çok benziyor. minOf bir değer döndürürken, minBy bir nesne döndürüyor.
//minOf and minBy are very similar to each other. minOf returns a value, while minBy returns an object.
data class UserUI(val name: String, val age: Int)
val users = listOf(
UserUI("Yağmur", 25),
UserUI("Elif", 23),
UserUI("Mehmet", 30),
UserUI("Ayşe", 20),
UserUI("Ali", 35),
UserUI("Caner", 27),
)
val resultMinOf = users.minOf { it.age }
val resultMinBy = users.minBy { it.age }
println("minOf -> $resultMinOf")
println("minBy -> $resultMinBy")