{"id":250,"date":"2026-10-01T17:53:02","date_gmt":"2026-10-01T17:53:02","guid":{"rendered":"https:\/\/java.nosoyia.es\/?page_id=250"},"modified":"2026-10-01T17:53:02","modified_gmt":"2026-10-01T17:53:02","slug":"hashmap","status":"publish","type":"page","link":"https:\/\/java.nosoyia.es\/?page_id=250","title":{"rendered":"HashMap"},"content":{"rendered":"\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-3a88641f wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-background wp-block-paragraph\" style=\"background-color:#a1f6ed;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">Correspondencia en Python &#8212;&gt;<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/python.nosoyia.es\/diccionarios\/\"><img loading=\"lazy\" decoding=\"async\" width=\"100\" height=\"56\" src=\"https:\/\/java.nosoyia.es\/wp-content\/uploads\/2026\/06\/Flor.jpg\" alt=\"\" class=\"wp-image-44\" title=\"Bloques en Python\"\/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Un HashMap es un conjunto de informaci\u00f3n que est\u00e1 relacionada entre s\u00ed.<br>La primera relaci\u00f3n ocurre entre una clave y su correspondiente valor. Dentro de un mismo HashMap puede haber uno, dos o muchos pares clave\/valor.<br>La clave puede ser un n\u00famero, un String&#8230;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El valor puede ser cualquier tambi\u00e9n cualquier tipo de dato.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El requisito m\u00e1s importante es que cada clave debe ser \u00fanica. No puede haber dos claves iguales. Los valores s\u00ed pueden repetirse.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Veamos un ejemplo de c\u00f3mo declarar un HashMap y c\u00f3mo a\u00f1adirle datos. Para a\u00f1adir datos utilizamos el m\u00e9todo <strong><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f04714\" class=\"has-inline-color\">.put (clave, valor)<\/mark><\/em><\/strong>. Si utilizamos este m\u00e9todo con una clave que ya existen en el HashMap, lo que hace es que actualiza su valor con el nuevo, pero no se repite esa clave.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.HashMap;\nimport java.util.Map;\n\npublic class Mis_HashMap {\n\n    public static void main(String[] args) {\n        Map&lt;String, Integer&gt; mi_diccionario = new HashMap&lt;&gt;();\n        mi_diccionario.put(&quot;a&quot;,14);\n        mi_diccionario.put(&quot;b&quot;,63);\n        mi_diccionario.put(&quot;c&quot;,43);\n        mi_diccionario.put(&quot;d&quot;,68);\n        System.out.println(mi_diccionario);\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\n{a=14, b=63, c=43, d=68}<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">El m\u00e9todo <strong><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#ee4411\" class=\"has-inline-color\">.get(clave)<\/mark><\/em><\/strong> permite obtener el valor asociado a la clave que se pasa como par\u00e1metro.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.HashMap;\nimport java.util.Map;\n\npublic class Mis_HashMap {\n\n    public static void main(String[] args) {\n        Map&lt;String, Integer&gt; mi_diccionario = new HashMap&lt;&gt;();\n        mi_diccionario.put(&quot;a&quot;,14);\n        mi_diccionario.put(&quot;b&quot;,63);\n        mi_diccionario.put(&quot;c&quot;,43);\n        mi_diccionario.put(&quot;d&quot;,68);\n        System.out.println(mi_diccionario);\n        int valor_1=mi_diccionario.get(&quot;a&quot;);\n        int valor_2=mi_diccionario.get(&quot;c&quot;);\n        int producto=valor_1*valor_2;\n        System.out.println(&quot;El producto de &quot;+valor_1+ &quot;*&quot;+valor_2+&quot; es: &quot;+producto);\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\nEl producto de 14*43 es: 602<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Con el m\u00e9todo <strong><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f03c05\" class=\"has-inline-color\">.keySet( )<\/mark><\/em><\/strong> Obtenemos todas las claves del diccionario.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El m\u00e9todo <strong><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#e7400d\" class=\"has-inline-color\">.values( )<\/mark><\/em><\/strong> Se obtienen todos los valores del diccionario.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El m\u00e9todo <strong><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#e54210\" class=\"has-inline-color\">.entrySet( )<\/mark><\/em><\/strong> Permite obtener claves y valores a la vez.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.HashMap;\nimport java.util.Map;\n\npublic class Mis_HashMap {\n\n    public static void main(String[] args) {\n        Map&lt;String, Integer&gt; mi_diccionario = new HashMap&lt;&gt;();\n        mi_diccionario.put(&quot;a&quot;,14);\n        mi_diccionario.put(&quot;b&quot;,63);\n        mi_diccionario.put(&quot;c&quot;,43);\n        mi_diccionario.put(&quot;d&quot;,68);\n\n        System.out.println(&quot;Claves de mi_diccionario: &quot;);\n        for (String su_clave : mi_diccionario.keySet()){\n            System.out.print(su_clave+&quot;-&quot;);\n        }\n\n        System.out.println(&quot;\\nValores de mi_diccionario: &quot;);\n        for (int su_valor : mi_diccionario.values()){\n            System.out.print(su_valor+&quot; # &quot;);\n        }\n\n        System.out.println(&quot;\\nEntradas de mi_diccionario: &quot;);\n        for (Map.Entry&lt;String,Integer&gt; input : mi_diccionario.entrySet()){\n            System.out.println(input.getKey()+&quot;-&gt;&quot;+input.getValue());\n        }\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\nClaves de mi_diccionario: \na-b-c-d-\nValores de mi_diccionario: \n14 # 63 # 43 # 68 # \nEntradas de mi_diccionario: \na-&gt;14\nb-&gt;63\nc-&gt;43\nd-&gt;68<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">El m\u00e9todo <strong><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#e54615\" class=\"has-inline-color\">.remove(clave)<\/mark><\/em><\/strong> nos permite eliminar un par clave\/valor a partir de la clave que se pasa como par\u00e1metro:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.HashMap;\nimport java.util.Map;\n\npublic class Mis_HashMap {\n\n    public static void main(String[] args) {\n        Map&lt;String, Integer&gt; mi_diccionario = new HashMap&lt;&gt;();\n        mi_diccionario.put(&quot;a&quot;,14);\n        mi_diccionario.put(&quot;b&quot;,63);\n        mi_diccionario.put(&quot;c&quot;,43);\n        mi_diccionario.put(&quot;d&quot;,68);\n\n        System.out.println(mi_diccionario);\n\n        mi_diccionario.remove(&quot;a&quot;);\n\n        System.out.println(mi_diccionario);\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\n{a=14, b=63, c=43, d=68}\n{b=63, c=43, d=68}<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Si intentamos eliminar una clave que no se encuentra en el HashMap, no se generar\u00e1 ning\u00fan error y el programa prosigue. Sin embargo si intentamos leer una clave con .get(clave) que no existe, SI que lanzar\u00e1 un mensaje de error y el programa se detiene.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para evitar que ocurra lo segundo, podemos hacer una comprobaci\u00f3n previa con el m\u00e9todo <strong><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#eb4a19\" class=\"has-inline-color\">.containsKey(clave)<\/mark><\/em><\/strong> que nos dir\u00e1 si la clave existe o no en el HashMap.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.HashMap;\nimport java.util.Map;\n\npublic class Mis_HashMap {\n\n    public static void main(String[] args) {\n        Map&lt;String, Integer&gt; mi_diccionario = new HashMap&lt;&gt;();\n        mi_diccionario.put(&quot;a&quot;,14);\n        mi_diccionario.put(&quot;b&quot;,63);\n        mi_diccionario.put(&quot;c&quot;,43);\n        mi_diccionario.put(&quot;d&quot;,68);\n\n        if (mi_diccionario.containsKey(&quot;a&quot;)){\n            System.out.println(&quot;El valor de &#39;a&#39; es: &quot;+mi_diccionario.get(&quot;a&quot;));\n        }\n        else {\n            System.out.println(&quot;La clave &#39;a&#39; no existe.&quot;);\n        }\n\n        if (mi_diccionario.containsKey(&quot;z&quot;)){\n            System.out.println(&quot;El valor de &#39;z&#39; es: &quot;+mi_diccionario.get(&quot;z&quot;));\n        }\n        else {\n            System.out.println(&quot;La clave &#39;z&#39; no existe.&quot;);\n        }\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\nEl valor de &#39;a&#39; es: 14\nLa clave &#39;z&#39; no existe.<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n podemos averiguar si un valor determinado est\u00e1 incluido en un HashMap. Si encontramos que est\u00e1 y queremos saber a qu\u00e9 clave est\u00e1 asociado dicho valor, podemos recorrer el HashMap con el m\u00e9todo .entrySet( ) hasta encontrar el valor, que adem\u00e1s puede pertenecer a varias claves.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.HashMap;\nimport java.util.Map;\n\npublic class Mis_HashMap {\n\n    public static void main(String[] args) {\n        Map&lt;String, Integer&gt; mi_diccionario = new HashMap&lt;&gt;();\n        mi_diccionario.put(&quot;a&quot;,14);\n        mi_diccionario.put(&quot;b&quot;,63);\n        mi_diccionario.put(&quot;c&quot;,43);\n        mi_diccionario.put(&quot;d&quot;,68);\n\n        if (mi_diccionario.containsValue(112)){\n            for (Map.Entry&lt;String,Integer&gt; input : mi_diccionario.entrySet()){\n                if (input.getValue()==112){\n                    System.out.println(&quot;El valor 112 est\u00e1 en la clave: &quot;+input.getKey());\n                }\n            }\n\n        }\n        else {\n            System.out.println(&quot;El valor 112 no est\u00e1 incluido en mi_diccionario.&quot;);\n        }\n\n        if (mi_diccionario.containsValue(68)){\n            for (Map.Entry&lt;String,Integer&gt; input : mi_diccionario.entrySet()){\n                if (input.getValue()==68){\n                    System.out.println(&quot;El valor 68 est\u00e1 en la clave: &quot;+input.getKey());\n                }\n            }\n        }\n        else {\n            System.out.println(&quot;El valor 68 no existe en mi_diccionario.&quot;);\n        }\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\nEl valor 112 no est\u00e1 incluido en mi_diccionario.\nEl valor 68 est\u00e1 en la clave: d<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Con el m\u00e9todo <strong><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#e13805\" class=\"has-inline-color\">.clear(<\/mark><\/em><\/strong> ) vaciamos completamente un HashMap de todos sus valores.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.HashMap;\nimport java.util.Map;\n\npublic class Mis_HashMap {\n\n    public static void main(String[] args) {\n        Map&lt;String, Integer&gt; mi_diccionario = new HashMap&lt;&gt;();\n        mi_diccionario.put(&quot;a&quot;,14);\n        mi_diccionario.put(&quot;b&quot;,63);\n        mi_diccionario.put(&quot;c&quot;,43);\n        mi_diccionario.put(&quot;d&quot;,68);\n\n        System.out.println(mi_diccionario);\n\n        mi_diccionario.clear();\n        System.out.println(mi_diccionario);\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\n{a=14, b=63, c=43, d=68}\n{ }<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Si queremos crear una <strong><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#e9400c\" class=\"has-inline-color\">copia de un HashMap en otro<\/mark><\/em><\/strong>, pero que ambos sean independientes entre s\u00ed, lo m\u00e1s fiable es crear el nuevo HashMap vac\u00edo. A continuaci\u00f3n iteramos sobre el primero y vamos copiando a\u00f1adiendo una copia de cada clave\/valor en el nuevo con el m\u00e9todo .put(clave,valor)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para obtener el tama\u00f1o de un HashMap, utilizaremos el m\u00e9todo .size( ) que nos devuelve la cantidad de pares claves\/valor que existen dentro del HashMap.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.HashMap;\nimport java.util.Map;\n\npublic class Mis_HashMap {\n\n    public static void main(String[] args) {\n        Map&lt;String, Integer&gt; mi_diccionario = new HashMap&lt;&gt;();\n        mi_diccionario.put(&quot;a&quot;,14);\n        mi_diccionario.put(&quot;b&quot;,63);\n        mi_diccionario.put(&quot;c&quot;,43);\n        mi_diccionario.put(&quot;d&quot;,68);\n\n        int tamanyo=mi_diccionario.size();\n\n        System.out.println(&quot;mi_diccionario tiene &quot;+tamanyo+&quot; pares claves\/valor.&quot;);\n\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\nmi_diccionario tiene 4 pares claves\/valor.<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Con un m\u00e9todo muy sencillo podemos obtener un ArrayList que contenga todas las claves de un HashMap.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.ArrayList;\nimport java.util.HashMap;\nimport java.util.Map;\n\npublic class Mis_HashMap {\n\n    public static void main(String[] args) {\n        Map&lt;String, Integer&gt; mi_diccionario = new HashMap&lt;&gt;();\n        mi_diccionario.put(&quot;a&quot;,14);\n        mi_diccionario.put(&quot;b&quot;,63);\n        mi_diccionario.put(&quot;c&quot;,43);\n        mi_diccionario.put(&quot;d&quot;,68);\n\n        ArrayList&lt;String&gt; listaClaves = new ArrayList&lt;&gt;(mi_diccionario.keySet());\n\n        System.out.println(listaClaves);\n\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\n[a, b, c, d]<\/code><\/pre><\/div>\n\n\n\n<figure class=\"wp-block-table tabla-colores has-large-font-size\"><table class=\"has-fixed-layout\"><tbody><tr><td><a href=\"https:\/\/java.nosoyia.es\/\">Inicio<\/a><\/td><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=52\">Comandos Java<\/a><\/td><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=30\" data-type=\"link\" data-id=\"https:\/\/java.nosoyia.es\/?page_id=30\">Bloques de c\u00f3digo.<\/a><\/td><\/tr><tr><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=34\" data-type=\"link\" data-id=\"https:\/\/java.nosoyia.es\/?page_id=34\">Comentar c\u00f3digo<\/a><\/td><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=18\" data-type=\"link\" data-id=\"https:\/\/java.nosoyia.es\/?page_id=18\">System.out.print<\/a><\/td><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=71\" data-type=\"page\" data-id=\"71\">Scanner (System.in)<\/a><\/td><\/tr><tr><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=81\">Captura de errores<\/a><\/td><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=91\">String<\/a><\/td><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=114\">Datos  Num\u00e9ricos<\/a><\/td><\/tr><tr><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=124\">Elementos aleatorios<\/a><\/td><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=136\">Datos Fecha\/hora<\/a><\/td><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=150\">Constantes<\/a><\/td><\/tr><tr><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=157\">Bucles for<\/a><\/td><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=167\">Bucles while<\/a><\/td><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=177\">Bloque if<\/a><\/td><\/tr><tr><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=190\">Arrays<\/a><\/td><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=199\">ArrayList<\/a><\/td><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=227\">switch case<\/a><\/td><\/tr><tr><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=236\">HashSet<\/a><\/td><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=250\">HashMap<\/a><\/td><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=261\">M\u00e9todos.<\/a><\/td><\/tr><tr><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=270\">Clases<\/a><\/td><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=280\">Archivos<\/a><\/td><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=299\" data-type=\"page\" data-id=\"270\">Entorno gr\u00e1fico Swing<\/a><\/td><\/tr><tr><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=307\">JFrame (Ventanas)<\/a><\/td><td><a href=\"https:\/\/java.nosoyia.es\/?page_id=321\">Componentes b\u00e1sicos.<\/a><\/td><td><\/td><\/tr><\/tbody><\/table><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Correspondencia en Python &#8212;&gt; Un HashMap es un conjunto de informaci\u00f3n que est\u00e1 relacionada entre s\u00ed.La primera relaci\u00f3n ocurre entre una clave y su correspondiente valor. Dentro de un mismo HashMap puede haber uno, dos o muchos pares clave\/valor.La clave puede ser un n\u00famero, un String&#8230; El valor puede ser cualquier tambi\u00e9n cualquier tipo de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-250","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/java.nosoyia.es\/index.php?rest_route=\/wp\/v2\/pages\/250","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/java.nosoyia.es\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/java.nosoyia.es\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/java.nosoyia.es\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/java.nosoyia.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=250"}],"version-history":[{"count":8,"href":"https:\/\/java.nosoyia.es\/index.php?rest_route=\/wp\/v2\/pages\/250\/revisions"}],"predecessor-version":[{"id":260,"href":"https:\/\/java.nosoyia.es\/index.php?rest_route=\/wp\/v2\/pages\/250\/revisions\/260"}],"wp:attachment":[{"href":"https:\/\/java.nosoyia.es\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=250"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}