![]() |
VOOZH | about |
In Kotlin, a HashMap is a collection that stores key-value pairs, where each key must be unique, but values can be duplicated. It is a hash table based implementation of the MutableMap interface. Map keys are unique and the map holds only one value for each key. It is represented as HashMap<key, value> or HashMap<K, V>. The hash table based implementation of HashMap does not guarantees about the order of specified data of key, value and entries of collections.
Kotlin provides four public constructors to create a HashMap:
It is the default constructor which constructs an empty HashMap instance.
val hashMap = HashMap<String, Int>()
println("Empty HashMap: $hashMap")
It is used to construct a HashMap of specified initial capacity. If initialCapacity isn't being used then it will get ignored.
val hashMap = HashMap<String, Int>(10)It is used to construct a HashMap of specified initial capacity and load factor. If initialCapacity and loadFactor isn't being used then both will get ignored.
Note: loadFactor is ignored in Kotlin's current implementation.
It creates instance of HashMap with same mappings as specified map.
val original = mapOf("IronMan" to 3000, "Thor" to 100)
val copyMap = HashMap(original)
println(copyMap)
Function | Description |
|---|---|
put(key, value) | Inserts or updates the value for the given ke |
get(key) | Returns the value for the key or null if not found. |
remove(key) | Removes the key-value pair for the given key. |
containsKey(key) | Returns true if the map contains the given key. |
containsValue(value) | Returns true if the map contains the given value. |
clear() | Removes all entries from the map. |
size | Returns the number of key-value pairs in the map. |
replace(key, value) | Replaces the value for the given key if it exists. |
Output :
hashMap is empty : {}
hashMap : {Thor=100, HawkEye=1300, NickFury=1200, IronMan=3000, SpiderMan=1100}
hashMap : {Thor=100, HawkEye=1300, NickFury=1200, IronMan=3000, SpiderMan=1100}
Element at key Thor : 100
Element at key HawkEye : 1300
Element at key NickFury : 1200
Element at key IronMan : 3000
Element at key SpiderMan : 1100
secondHashMap :
Element at key Thor : 100
Element at key HawkEye : 1300
Element at key IronMan : 3000
Element at key NickFury : 1200
Element at key SpiderMan : 1100
hashMap.clear()
After Clearing : {}
Output:
Element at key Thor : 100
Element at key IronMan : 3000
Element at key NickFury : 1200
Element at key SpiderMan : 1100
hashMap.size : 4
hashMap.size : 5
Element at key Thor : 100
Element at key BlackWidow : 1000
Element at key IronMan : 3000
Element at key NickFury : 1200
Element at key SpiderMan : 1100
Output:
Element at key Thor : 100
Element at key Cap : 1200
Element at key IronMan : 3000
Element at key SpiderMan : 1100
hashMap["IronMan"] : 3000
hashMap.get("Thor") : 2000
hashMap.replace("Cap", 999) hashMap.replace("Thor", 2000)) :
Element at key Thor : 2000
Element at key Cap : 999
Element at key IronMan : 3000
Element at key SpiderMan : 1100
Kotlin HashMap provides constant time or O(1) complexity for basic operations like get and put, if hash function is properly written and it disperses the elements properly. In case of searching in the HashMap containsKey() is just a get() that throws away the retrieved value, it's O(1) (assuming the hash function works properly).
In Kotlin, a HashMap is a collection that stores key-value pairs. Each key in a HashMap must be unique, but values can be duplicated. The HashMap class provides methods for adding, removing, and retrieving elements, as well as checking if a key or value is present in the map.
Example of using HashMap in Kotlin:
Output:
{apple=1, banana=2, orange=3}
{apple=1, orange=3}
Contains key 'apple': true
Contains value 3: true
In this example, we create a new HashMap with String keys and Int values. We then add three key-value pairs to the HashMap using the put() method. Next, we print the entire HashMap using the println() function. We then remove the key-value pair with the key "banana" using the remove() method and print the updated HashMap. Finally, we use the containsKey() and containsValue() methods to check if the HashMap contains the key "apple" and the value 3, respectively.