Los casos de uso de removeAll y removeif

Yogesh:

Acabo de empezar con Kotlin y mientras que la experimentación, he encontrado esto:

fun main(args: Array<String>) {
    val list: MutableList<Int> = mutableListOf(1, 2, 3, 4, 5)
    list.removeAll { x -> x in 1..3 }

Y

    list.removeIf { x -> x in 1..3 }
}

ambos como resultado misma salida

4
5

Aunque entiendo que es removeAll Kotlin y removeIf es Java, pero no entiendo por qué removeAll es allí cuando removeIf ya estaba allí? Y por el hecho de que podíamos usar removeIf en Kotlin sin ningún tipo de molestia. O hay ningún caso del uso que pueda necesitar uno sobre otro?

Damián Rafael Lattenero :

Esos son muy diferentes funciones, pero en Kotlin se sobrecarga el método, esto significa, que cuenta con dos tipos diferentes de argumentos de la función.

Si usted lee el documento, se puede ver que se puede utilizar esta función, dando una colección:

fun <T> MutableCollection<out T>.removeAll(
    elements: Collection<T>
): Boolean (source)

O dar una función de filtro:

fun <T> MutableIterable<T>.removeAll(
    predicate: (T) -> Boolean
): Boolean (source)

Por lo tanto, el segundo es igual que la versión Java de removeIf, el primero no lo es.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=137678&siteId=1
Recomendado
Clasificación