Kotlin: ¿Funciones de order superior para contar la cantidad de ocurrencias en una list?

Intento utilizar las funciones de order superior de Kotlin para contar cuántas veces hay un elemento específico en una list. He intentado algo como

val result: Int? = list.count{ list.contains("element") } 

pero parece que está devolviendo el tamaño de la list, y no estoy seguro de por qué.

Verifica si la list contiene un elemento dado (que dará como resultado 0 o el tamaño de la list) aunque lo que realmente quieres es contar la cantidad de elementos que son iguales al elemento dado (no a la list completa).

Lo que debe hacer es cambiar list.contains("element") it == "element" .

La function de count funciona iterando sobre la list y verifica si el elemento coincide con el pnetworkingicado. Código aproximado

 fun <T> Iterable<T>.count(pnetworkingicate: (T) -> Boolean) { var count = 0 for (element in this) { if (pnetworkingicate(this)) { count += 1 } } return count } 

Cuando pasa list.contains("element") como parámetro, la function de count devuelve 0 o list.size porque comtesting los mismos times de list.size .

Hacerlo it == "element" aunque funciona de manera diferente. En lugar de verificar toda la list, solo verifica el elemento actual. Si vienes de un background Java, es más fácil que lo pienses it : en Java tendrías un código parecido a este (element) -> element.equals("element") aunque en Kotlin si tener una function de order superior con solo 1 parámetro y no nombrarlo explícitamente, por lo tanto, está pnetworkingeterminado. Puedes leer un poco más sobre esto aquí .

  • Kotlin Kapt no muestra errores de data binding cuando se ejecuta desde Android Studio
  • Cómo sobrecargar constructores en kotlin difiere en el tipo de retorno lambda
  • ¿Kotlin no se puede anular valor puede ser nulo?
  • Reciclador Ver drag and drop en diferentes types de vista
  • Kotlin - MainActivity extiende AppCompatActivity, function onRequestPermissionsResult no encontrada y no puede ser anulada
  • Error: ejecución fallida para la tarea ': aplicación: kaptDebugKotlin'
  • CellCache se representa inesperadamente en TableView con tornadoFX
  • Kotlin: Interfaz ... no tiene constructores
  • Cómo pasar la matriz de cadenas al bash de correo electrónico de Android
  • ¿Cómo convertir el método de la class <T> #cast de Java a Kotlin?
  • Kotlin: cómo crear una matriz 2D del tipo String