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

  • Problema recursivo con toString en Kotlin
  • ¿Qué es la testing (0) en este fragment de kotlinlang.org?
  • Wicket NumberTextField en Kotlin lanza ClassCastException cuando se envía
  • IntArray vs Array <Int> en Kotlin
  • ¿Hay alguna forma mejor de acceder a la propiedad que se puede anotar?
  • Kotlin: propiedad individual con varios setters de diferentes types
  • El método hasSystemFeature devuelve un valor incorrecto mientras se comtesting la compatibilidad con BluetoothLE
  • ¿Cómo se resuelve la violación de la restricción de límites finitos en Kotlin?
  • Google Assistant SDK rechaza el canal autenticado como "UNAUTHENTICATED"
  • Muestra un fragment en un widget de Android
  • Gradle tomando time al frente aparentemente sin hacer nada