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í .

  • cómo evitar el cheque nulo
  • Ejecute testings de Kotlin Koans desde Android Studio
  • ¿Integración de Kotlin en Java Code?
  • Regex: un metacarácter para reconocer cualquier tipo de personaje
  • Room - SELECT query, get o default
  • Kotlin: método genérico y para bucle preguntando por iterador ()
  • La reference Int :: class.javaPrimitiveType.kotlin no es igual a Int :: class.javaObjectType.kotlin
  • Kotlin RC NoClassDefFoundError
  • Desactivar cheque para usar el package 'kotlin' en Gradle
  • ¿La mejor forma de combinar banderas enteras usando Kotlin?
  • Enrutamiento de contenido estático en VertX