Kotlin HashMap es una colección que contiene pares de objetos. Implementación basada en Kotlin Hash Table de la interfaz MutableMap. Almacena los datos en forma de par clave y valor. Las claves del mapa son únicas y el mapa contiene solo un valor para cada clave. Se representa como HashMap<key, value> o HashMap<K, V> .
La implementación basada en tablas hash de HashMap no garantiza el orden de los datos especificados de clave , valor y entradas de colecciones.
Constructores de la clase Kotlin HashMap –
Kotlin HashMap proporciona 4 constructores y el modificador de acceso de cada uno es público:
Uso de las funciones de HashMap –
Programa Kotlin de uso de funciones HashMap(), HashMap(original: Map), Traversing hashmap, HashMap.get() –
fun main(args: Array<String>) { //A simple example of HashMap class define // with empty "HashMap of <String, Int>" var hashMap : HashMap<String, Int> = HashMap<String, Int> () //printing the Empty hashMap printHashMap(hashMap) //adding elements to the hashMap using // put() function hashMap.put("IronMan" , 3000) hashMap.put("Thor" , 100) hashMap.put("SpiderMan" , 1100) hashMap.put("NickFury" , 1200) hashMap.put("HawkEye" , 1300) //printing the non-Empty hashMap printHashMap(hashMap) //using the overloaded print function of //Kotlin language to get the same results println("hashMap : " + hashMap + "\n") //hashMap traversal using a for loop for(key in hashMap.keys){ println("Element at key $key : ${hashMap[key]}") } //creating another hashMap object with // the previous version of hashMap object var secondHashMap : HashMap<String, Int> = HashMap<String, Int> (hashMap) println("\n" + "Second HashMap : ") for(key in secondHashMap.keys){ //using hashMap.get() function to fetch the values println("Element at key $key : ${hashMap.get(key)}") } //this will clear the whole map and make it empty println("hashMap.clear()") hashMap.clear() println("After Clearing : " + hashMap) } //function to print the hashMap fun printHashMap(hashMap : HashMap<String, Int>){ // isEmpty() function to check whether // the hashMap is empty or not if(hashMap.isEmpty()){ println("hashMap is empty") }else{ println("hashMap : " + hashMap) } }
Producción :
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 : {}
Programa Kotlin de uso de la capacidad inicial de HashMap, HashMap.size –
fun main(args: Array<String>) { //HashMap can also be initialize // with its initial capacity. //The capacity can be changed by // adding and replacing its element. var hashMap : HashMap<String, Int> = HashMap<String, Int> (4) //adding elements to the hashMap using put() function hashMap.put("IronMan" , 3000) hashMap.put("Thor" , 100) hashMap.put("SpiderMan" , 1100) hashMap.put("NickFury" , 1200) for(key in hashMap.keys) { println("Element at key $key : ${hashMap[key]}") } //returns the size of hashMap println("\n" + "hashMap.size : " + hashMap.size ) //adding a new element in the hashMap hashMap["BlackWidow"] = 1000; println("hashMap.size : " + hashMap.size + "\n") for(key in hashMap.keys) { println("Element at key $key : ${hashMap[key]}") } }
Producción:
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
Programa Kotlin de uso de funciones HashMap.get(key), HashMap.replace(), HashMap.put() –
fun main(args: Array<String>) { var hashMap : HashMap<String, Int> = HashMap<String, Int> () //adding elements to the hashMap // using put() function hashMap.put("IronMan" , 3000) hashMap.put("Thor" , 100) hashMap.put("SpiderMan" , 1100) hashMap.put("Cap" , 1200) for(key in hashMap.keys) { println("Element at key $key : ${hashMap[key]}") } //the hashMap's elements can be accessed like this println("\nhashMap[\"IronMan\"] : " + hashMap["IronMan"]) hashMap["Thor"] = 2000 println("hashMap.get(\"Thor\") : " + hashMap.get("Thor") + "\n") //replacing some values hashMap.replace("Cap" , 999); hashMap.put("Thor" , 2000); println("hashMap.replace(\"Cap\" , 999)" + " hashMap.replace(\"Thor\" , 2000)) :") for(key in hashMap.keys) { println("Element at key $key : ${hashMap[key]}") } }
Producción:
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
Complejidad temporal de HashMap –
Kotlin HashMap proporciona tiempo constante o complejidad O(1) para operaciones básicas como obtener y colocar, si la función hash se escribe correctamente y dispersa los elementos correctamente. En caso de buscar en HashMap containsKey() es solo un get() que descarta el valor recuperado, es O(1) (suponiendo que la función hash funcione correctamente).
Algunas otras funciones de la clase Kotlin HashMap:
Publicación traducida automáticamente
Artículo escrito por AvishekMondal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA