Sering kali kita diharuskan mencari data pada suatu list dikarenakan suatu hal, misalnya return data yang umum sedangkan kebutuhannya berbeda (web dan apps).

Misalnya kita punya data seperti ini :

val myList = listOf(1, 2, 3, 4, 5)

Mungkin muncul pertanyaan, bagaimana cara kita menemukan suatu data didalamnya, misalnya ingin mengetahui apakah ada data 3 pada list tersebut? Jika menggunakan bahasa kotlin ada beberapa cara yang bisa kamu coba, diantara :

val foundItem = myList.find { it == 3 }
println(foundItem) // Output: 3

val filteredList = myList.filter { it == 3 }
println(filteredList) // Output: [3]

Jika data tidak ditemukan maka find akan mengembalikan nilai null sedangkan filter akan mengembalikan nilai []. Bagaimana jika datanya String? jika datanya berupa String, kamu bisa menggunakan cara ini :

val myList = listOf("apple", "banana", "orange")
val index = myList.indexOf("banana")
println(index) // Output: 1

Dengan menggunakan indexOf, jika data tidak ditemukan maka dia akan mengembalikan nilai -1.

Nah itulah cara mencari data jika list hanya berupa 1 data, bagaimana jika kita harus mencari data dengan model? beginilah kira-kira :

data class Person(val name: String, val age: Int)

val personList = listOf(
    Person("John", 25),
    Person("Sarah", 30),
    Person("Michael", 35)
)

val foundPerson = personList.find { it.name == "Sarah" }
println(foundPerson) // Output: Person(name=Sarah, age=30)

atau kamu bisa gunakan cara seperti ini :

val filteredList = personList.filter { it.age > 30 }
println(filteredList) // Output: [Person(name=Michael, age=35)]

Bagaimana? Ez kan ya? Yuk dota 😀

Jika mau ingin request code, bisa coba disini ya

Categorized in:

Tagged in:

,