What is the plus method of a LinkedHashMap in Kotlin?

Overview

In Kotlin, the plus method creates a new read-only Map from the current LinkedHash by adding or replacing the map entries that are passed as an argument to it.

Syntax

operator fun <K, V> Map<out K, V>.plus(
    map: Map<out K, V>
): Map<K, V>

Parameters

This method takes a Map as an argument.

If the passed map contains an entry with the key already present in the LinkedHashMap, the entry’s value of the LinkedHashMap will be replaced by the value of the Map argument.

If the passed map contains an entry that is not present in the LinkedHashMap, then a new entry will be added to the LinkedHashMap.

Return value

This method returns a read-only Map by combining the current LinkedHashMap with the Map that is passed as an argument to it.

Code example

The code given below demonstrates how we can use the plus method:

fun main() {
//create a new LinkedHashMap which can have integer type as key, and string type as value
val map: LinkedHashMap<Int, String> = linkedMapOf()
// add two entries
map.put(1, "one")
map.put(2, "two")
map.put(3, "three")
println("\nThe map is : $map")
val argumentMap = mapOf(1 to "ONE", 4 to "FOUR")
println("The argumentMap is : $argumentMap")
var newMap = map.plus(argumentMap);
println("\nmap.plus(argumentMap) : ${newMap}")
}

Code explanation

  • Line 3: We create a new LinkedHashMap object with map. We use the linkedMapOf method to create an empty LinkedHashMap.

  • Lines 6–8: We add three entries to the map {1=one,2=two,3=three}, using the put method.

  • Line 12: We create another map with the name argumentMap, using the mapOf method. This map has two entries {1=ONE,4=FOUR}.

  • Line 15: We use the plus method with argumentMap as an argument. This method creates a new map by combining the entries of the map with argumentMap. In our case:

    • The entry 1=one of the map will be replaced by the entry 1=ONE of the argumentMap.
    • A new entry 4=FOUR of the argumentMap will be added to the map object.

The read-only map that is returned will be {1=ONE, 2=two, 3=three, 4=FOUR}.

Free Resources