{"id":875,"date":"2012-06-06T14:11:51","date_gmt":"2012-06-06T19:11:51","guid":{"rendered":"http:\/\/alejandroayala.solmedia.ec\/?p=875"},"modified":"2012-06-06T14:15:00","modified_gmt":"2012-06-06T19:15:00","slug":"acceder-a-los-valores-de-un-map","status":"publish","type":"post","link":"https:\/\/alejandroayala.solmedia.ec\/?p=875","title":{"rendered":"Acceder a los valores de un Map eficientemente"},"content":{"rendered":"<p>Un error muy com\u00fan es recuperar valores de un Map mientras se itera sobre las claves del <em>Map<\/em> con\u00a0<em>keySet()<\/em>. Las llamadas del tipo\u00a0<em>Map.get(key)<\/em> para cada entrada <strong>consumen demasiados recursos y debe evitarse<\/strong>.<\/p>\n<p>Se debe usar el iterador\u00a0<strong><em>entrySet()<\/em><\/strong> en lugar de\u00a0\u00a0<em>Map.get(key)<\/em> para las b\u00fasquedas.<\/p>\n<p><strong>Procedimiento incorrecto:<\/strong><\/p>\n<p>[java]<br \/>\nfor (Object key: map.keySet())<br \/>\n    doSomething(map.get(key));<br \/>\n[\/java]<\/p>\n<p><!--more--><\/p>\n<pre><strong>Procedimiento correcto:<\/strong><br \/>\n[java]<br \/>\nfor (Map.Entry entry: map.entrySet())<br \/>\n    doSomething(entry.getValue());<br \/>\n[\/java]<\/p>\n<p><strong><em>entrySet()<\/em><\/strong> proporciona un acceso directo a los datos de la estructura interna del <em>Map<\/em>(un array de pares key-value) sin realizar busquedas adicionales y por lo tanto el evitar iterar sobre la data del <em>Map<\/em>.<\/p>\n<p>Fuente:\u00a0<a href=\"http:\/\/javaantipatterns.wordpress.com\/2007\/11\/22\/accessing-the-map-values-using-keyset-iterator\/\" target=\"_blank\">http:\/\/javaantipatterns.wordpress.com\/2007\/11\/22\/accessing-the-map-values-using-keyset-iterator\/<\/a><\/p>\n\n<div class=\"twitter-share\"><a href=\"https:\/\/twitter.com\/intent\/tweet?via=a1ejo_ayala\" class=\"twitter-share-button\" data-size=\"large\">Twittear<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Un error muy com\u00fan es recuperar valores de un Map mientras se itera sobre las claves del Map con\u00a0keySet(). Las llamadas del tipo\u00a0Map.get(key) para cada entrada consumen demasiados recursos y debe evitarse. Se debe usar el iterador\u00a0entrySet() en lugar de\u00a0\u00a0Map.get(key) para las b\u00fasquedas. Procedimiento incorrecto: [java] for (Object key: map.keySet()) doSomething(map.get(key)); [\/java]<\/p>\n","protected":false},"author":1,"featured_media":690,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[4],"tags":[183,181,184,506,185,182,180],"_links":{"self":[{"href":"https:\/\/alejandroayala.solmedia.ec\/index.php?rest_route=\/wp\/v2\/posts\/875"}],"collection":[{"href":"https:\/\/alejandroayala.solmedia.ec\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alejandroayala.solmedia.ec\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alejandroayala.solmedia.ec\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alejandroayala.solmedia.ec\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=875"}],"version-history":[{"count":5,"href":"https:\/\/alejandroayala.solmedia.ec\/index.php?rest_route=\/wp\/v2\/posts\/875\/revisions"}],"predecessor-version":[{"id":880,"href":"https:\/\/alejandroayala.solmedia.ec\/index.php?rest_route=\/wp\/v2\/posts\/875\/revisions\/880"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alejandroayala.solmedia.ec\/index.php?rest_route=\/wp\/v2\/media\/690"}],"wp:attachment":[{"href":"https:\/\/alejandroayala.solmedia.ec\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=875"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alejandroayala.solmedia.ec\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=875"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alejandroayala.solmedia.ec\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=875"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}