En Kotlin , los operadores más y menos se utilizan para trabajar con la lista de objetos que generalmente se conoce como Colecciones (Lista, Conjunto, Mapas).
Como sugiere el nombre, el operador más suma o concatena los elementos u objetos de las colecciones dadas. Los elementos de la primera colección permanecen como están y los elementos de la segunda colección se agregan con ellos y el resultado se devuelve en una nueva colección de solo lectura.
Otro operador menos también contiene todos los elementos de la primera colección pero elimina los elementos de la segunda colección, si es un solo elemento, el operador menos elimina su ocurrencia. Al igual que el resultado del operador más, se almacena en una nueva colección de solo lectura.
Sintaxis:
val result = collection1 + collection2
El ejemplo de Kotlin demuestra el uso del operador más y menos para una lista de elementos:
fun main(args: Array<String>) { // initialize collection with string elements val firstcollection = listOf("three", "one", "twenty") // perform plus operator on list val plusList = firstcollection + "zero" // perform minus operator on list val minusList = firstcollection - listOf("three") println("Result of plus operator is : " + plusList) println("Result of minus operator is : " + minusList) }
Producción:
Result of plus operator is : [three, one, twenty, zero] Result of minus operator is : [one, twenty]
Los operadores más y menos funcionan de forma ligeramente diferente en Maps que en otras colecciones. El operador Más devuelve un Mapa que contiene elementos de ambos Mapas: un Mapa a la izquierda y un Par u otro Mapa a la derecha.
El operador menos crea un mapa a partir de las entradas de un mapa a la izquierda, excepto aquellas con teclas del operando del lado derecho.
El ejemplo de Kotlin demuestra el uso de ambos operadores en Maps:
fun main(args : Array<String>) { // create and initialize map with keys and values val firstMap = mapOf("one" to 1, "two" to 2, "three" to 3) // plus operator to add 4 print("Result of plus operator: ") println(firstMap + Pair("four", 4)) // minus operator to minus 1 print("Result of minus operator: ") println(firstMap - "one") }
Producción:
{one=1, two=2, three=3, four=4} {two=2, three=3}