{"id":236,"date":"2026-10-01T17:53:02","date_gmt":"2026-10-01T17:53:02","guid":{"rendered":"https:\/\/java.nosoyia.es\/?page_id=236"},"modified":"2026-10-01T17:53:02","modified_gmt":"2026-10-01T17:53:02","slug":"hashset","status":"publish","type":"page","link":"https:\/\/java.nosoyia.es\/?page_id=236","title":{"rendered":"HashSet"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\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\/conjuntos\/\"><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 HashSet es una estructura de datos que no est\u00e1 ordenada. Es decir, no podemos acceder a un elemento en concreto como lo har\u00edamos con un List o con ArrayList.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puede contener varios tipos de elementos a la vez, aunque no es lo m\u00e1s recomendable, ya que tendr\u00edamos problemas si queremos hacer un recorrido completo por todos sus elementos, al no saber en cada momento con que elemento nos encontramos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una de sus caracter\u00edsticas m\u00e1s importantes, es que <strong><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#ee4411\" class=\"has-inline-color\">sus elementos no se pueden repetir.<\/mark><\/em><\/strong> Si intentamos a\u00f1adir un elemento que ya est\u00e1 dentro del HashSet, sencillamente no lo va a a\u00f1adir.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.*;\n\npublic class Mis_HashSet {\n    public static void main(String[] args) {\n        double decimal=4.34;\n        int entero=14;\n        String palabra=&quot;Hola&quot;;\n        List&lt;Integer&gt; mis_numeros = new ArrayList&lt;&gt;(Arrays.asList(1,2,3));\n        Set nombres = new HashSet&lt;&gt;(Set.of(&quot;Ana&quot;,palabra,decimal, mis_numeros,mis_numeros.get(2)));\n        System.out.println(nombres);\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\n[[1, 2, 3], 3, Ana, 4.34, Hola]<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">En el ejemplo anterior vemos c\u00f3mo declarar e instanciar a la vez una estructura HashSet. Podemos observar que el elemento 3 aparece repetido, la explicaci\u00f3n es muy sencilla, por un lado aparece como elemento y por otro aparece como perteneciente a una estructura de datos ArrayList (que es la que est\u00e1 incluida). <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para a\u00f1adir elementos a un HashSet, tanto si ya est\u00e1 instanciado como si no, disponemos del m\u00e9todo <strong><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f03c05\" class=\"has-inline-color\">.add(elemento)<\/mark><\/em><\/strong>. Veamos ahora como declararlo primero e incluir los elementos despu\u00e9s.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.*;\n\npublic class Mis_HashSet {\n    public static void main(String[] args) {\n        double decimal=4.34;\n        int entero=14;\n        String palabra=&quot;Hola&quot;;\n        List&lt;Integer&gt; mis_numeros = new ArrayList&lt;&gt;(Arrays.asList(1,2,3));\n        Set nombres = new HashSet();\n        nombres.add(&quot;Ana&quot;);\n        nombres.add(palabra);\n        nombres.add(decimal);\n        nombres.add(mis_numeros);\n        nombres.add(mis_numeros.get(2));\n        System.out.println(nombres);\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Lo m\u00e1s habitual y sobre todo lo m\u00e1s operativo, es que el HashSet est\u00e9 formado solo por elementos todos del mismo tipo. Para ello la forma de declararlo es un poco diferente y depende del tipo de datos que contenga.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.*;\n\npublic class Mis_HashSet {\n    public static void main(String[] args) {\n        Set &lt;Integer&gt; mis_enteros= new HashSet&lt;&gt;(Set.of(343,132,987,0,14,8734));\n        System.out.println(mis_enteros);\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\n[0, 132, 343, 987, 8734, 14]<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Tal y como estamos observando, la forma de almacenar y mostrar los elementos del HashSet es muy arbitraria, ya que no lleva ning\u00fan orden de entrada y almacenamiento.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f04714\" class=\"has-inline-color\">Recorrer los elementos de un HashSet<\/mark><\/em><\/strong>. Podemos recorrer sus elementos utilizando un bucle for:<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.*;\n\npublic class Mis_HashSet {\n    public static void main(String[] args) {\n        Set &lt;Integer&gt; mis_enteros= new HashSet&lt;&gt;(Set.of(343,132,987,0,14,8734));\n        int suma=0;\n        for (int entero: mis_enteros){\n            suma=suma+entero;\n        }\n        System.out.println(&quot;La suma de todos los n\u00fameros es: &quot;+suma);\n    }\n}\n<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\nLa suma de todos los n\u00fameros es: 10210<\/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:#da3c0b\" class=\"has-inline-color\">.contains(elemento)<\/mark><\/em><\/strong> nos permite comprobar si un elemento est\u00e1 incluido dentro de un HashSet.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.*;\n\npublic class Mis_HashSet {\n    public static void main(String[] args) {\n        Set &lt;Integer&gt; mis_enteros= new HashSet&lt;&gt;(Set.of(343,132,987,0,14,8734));\n        int ejemplo=132;\n        if (mis_enteros.contains(ejemplo)){\n            System.out.println(&quot;El n\u00famero &quot;+ejemplo+&quot; est\u00e1 incluido.&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 n\u00famero 132 est\u00e1 incluido.<\/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:#e54210\" class=\"has-inline-color\">.size( )<\/mark><\/em><\/strong> nos dar\u00e1 la cantidad de elementos que tiene el HashSet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.*;\n\npublic class Mis_HashSet {\n    public static void main(String[] args) {\n        Set &lt;Integer&gt; mis_enteros= new HashSet&lt;&gt;(Set.of(343,132,987,0,14,8734));\n        int longitud=mis_enteros.size();\n        System.out.println(&quot;El conjunto tiene &quot;+longitud+&quot; elementos.&quot;);\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\nEl conjunto tiene 6 elementos.<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Si ya tenemos un HashSet, podemos a\u00f1adirle todos los elementos de otro HashSet, de un List o un ArrayList con el m\u00e9todo <strong><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f03c05\" class=\"has-inline-color\">.addAll(otro)<\/mark><\/em><\/strong> Esto ser\u00eda el equivalente a la UNION entre conjuntos.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.*;\n\npublic class Mis_HashSet {\n    public static void main(String[] args) {\n        Set &lt;Integer&gt; mis_enteros= new HashSet&lt;&gt;(Set.of(3,132,987,2,14,8734));\n        System.out.println(mis_enteros);\n        List&lt;Integer&gt; mi_lista = new ArrayList&lt;&gt;(Arrays.asList(1,2,3,4,5));\n        mis_enteros.addAll(mi_lista);\n        System.out.println(mis_enteros);\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\n[2, 3, 132, 987, 8734, 14]\n[1, 2, 3, 132, 4, 5, 987, 8734, 14]<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Vemos que se han incluido 3 elementos m\u00e1s, aunque hab\u00eda 5 en el ArrayList. Esto es debido a que los elementos de un HashSet no se pueden repetir. <\/p>\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:#f23e07\" class=\"has-inline-color\">.remove(elemento)<\/mark><\/em><\/strong> podemos eliminar un elemento del HashSet.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.*;\n\npublic class Mis_HashSet {\n    public static void main(String[] args) {\n        Set &lt;Integer&gt; mis_enteros= new HashSet&lt;&gt;(Set.of(3,132,987,2,14,8734));\n        System.out.println(mis_enteros);\n        mis_enteros.remove(132);\n        System.out.println(mis_enteros);\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\n[2, 3, 132, 987, 14, 8734]\n[2, 3, 987, 14, 8734]<\/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:#ec420e\" class=\"has-inline-color\">.clear( )<\/mark><\/em><\/strong> eliminamos completamente todos los elementos del conjunto.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.*;\n\npublic class Mis_HashSet {\n    public static void main(String[] args) {\n        Set &lt;Integer&gt; mis_enteros= new HashSet&lt;&gt;(Set.of(3,132,987,2,14,8734));\n        System.out.println(mis_enteros);\n        mis_enteros.clear();\n        System.out.println(mis_enteros);\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\n[2, 3, 132, 987, 14, 8734]\n[ ]<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Si tenemos un <strong><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#df3907\" class=\"has-inline-color\">ArrayList<\/mark><\/em><\/strong> le podemos a\u00f1adir muy f\u00e1cilmente todos los elementos que contiene un <strong><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f34612\" class=\"has-inline-color\">HashSet<\/mark><\/em><\/strong><\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.*;\n\npublic class Mis_HashSet {\n    public static void main(String[] args) {\n        Set &lt;Integer&gt; mis_enteros= new HashSet&lt;&gt;(Set.of(3,132,987,2,14,8734));\n        System.out.println(mis_enteros);\n        ArrayList&lt;Integer&gt; miLista = new ArrayList&lt;&gt;();\n        miLista.addAll(mis_enteros);\n        System.out.println(miLista);\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\n[2, 3, 132, 987, 8734, 14]\n[2, 3, 132, 987, 8734, 14]<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">La operaci\u00f3n inversa tambi\u00e9n es posible, es decir, a partir de los elementos de un ArrayList podemos obtener un HashSet que contenga todos sus elementos.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.*;\n\npublic class Mis_HashSet {\n    public static void main(String[] args) {\n\n        List&lt;Integer&gt; miLista = new ArrayList&lt;&gt;(Arrays.asList(3,132,987,2,14,8734));\n        System.out.println(miLista);\n        Set &lt;Integer&gt; mis_enteros= new HashSet&lt;&gt;();\n        mis_enteros.addAll(miLista);\n        System.out.println(mis_enteros);\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\n[3, 132, 987, 2, 14, 8734]\n[2, 3, 132, 987, 14, 8734]<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Tambi\u00e9n podemos elegir qu\u00e9 segmento de ArrayList queremos que formen parte del nuevo HashSet<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.*;\n\npublic class Mis_HashSet {\n    public static void main(String[] args) {\n\n        List&lt;Integer&gt; miLista = new ArrayList&lt;&gt;(Arrays.asList(3,132,987,2,14,8734));\n        System.out.println(miLista);\n        Set &lt;Integer&gt; mis_enteros= new HashSet&lt;&gt;();\n        mis_enteros.addAll(miLista.subList(0,4));\n        System.out.println(mis_enteros);\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\n[3, 132, 987, 2, 14, 8734]\n[2, 3, 132, 987]<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Antes hemos visto como si tenemos un HashSet, podemos tambi\u00e9n con .addAll obtener la uni\u00f3n con otro HashSet. Pero en este caso el primer HashSet se ve modificado para mostrar la uni\u00f3n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es probable que necesitemos conservar los dos tal y como est\u00e1n originariamente, y crear la uni\u00f3n en un nuevo HashSet. Esto es tambi\u00e9n muy sencillo.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.*;\n\npublic class Mis_HashSet {\n    public static void main(String[] args) {\n        Set &lt;Integer&gt; mis_enteros= new HashSet&lt;&gt;(Set.of(3,132,987,2,14,8734));\n        System.out.println(mis_enteros);\n        Set&lt;Integer&gt; mi_lista = new HashSet&lt;&gt;(Set.of(1,2,3,4,5));\n        System.out.println(mi_lista);\n        Set mi_union=new HashSet&lt;&gt;(mis_enteros);\n        mi_union.addAll(mi_lista);\n        System.out.println(mi_union);\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\n[2, 3, 132, 987, 14, 8734]\n[1, 2, 3, 4, 5]\n[1, 2, 3, 132, 4, 5, 987, 14, 8734]<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Para crear la <strong><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#ec420e\" class=\"has-inline-color\">intersecci\u00f3n de dos HashSet<\/mark><\/em><\/strong>, podemos utilizar el m\u00e9todo <strong><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#ee4c1b\" class=\"has-inline-color\">primerhash.retainAll(segundohash)<\/mark><\/em><\/strong><\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.*;\n\npublic class Mis_HashSet {\n    public static void main(String[] args) {\n        Set &lt;Integer&gt; mis_enteros= new HashSet&lt;&gt;(Set.of(3,132,987,2,14,8734));\n        System.out.println(mis_enteros);\n        Set&lt;Integer&gt; mi_lista = new HashSet&lt;&gt;(Set.of(1,2,3,4,5));\n        System.out.println(mi_lista);\n        Set mi_interseccion=new HashSet&lt;&gt;(mis_enteros);\n        mi_interseccion.retainAll(mi_lista);\n        System.out.println(mi_interseccion);\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\n[2, 3, 132, 987, 8734, 14]\n[1, 2, 3, 4, 5]\n[2, 3]<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Partiendo de un HashSet podemos restarle un segundo HashSet haciendo uso del m\u00e9todo <strong><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#ea4310\" class=\"has-inline-color\">.removeAll( )<\/mark><\/em><\/strong> Con esto conseguimos eliminar del primero, todos los elementos que tambi\u00e9n se encuentren en el segundo.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.*;\n\npublic class Mis_HashSet {\n    public static void main(String[] args) {\n        Set &lt;Integer&gt; mis_enteros= new HashSet&lt;&gt;(Set.of(3,132,987,2,14,8734));\n        System.out.println(mis_enteros);\n        Set&lt;Integer&gt; mi_lista = new HashSet&lt;&gt;(Set.of(1,2,3,4,5));\n        System.out.println(mi_lista);\n        Set mi_resta=new HashSet&lt;&gt;(mis_enteros);\n        mi_resta.removeAll(mi_lista);\n        System.out.println(mi_resta);\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\n[2, 3, 132, 987, 8734, 14]\n[1, 2, 3, 4, 5]\n[132, 987, 8734, 14]<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Hay otro concepto que se le suele llamar resta sim\u00e9trica. Consiste en un nuevo HashSet que tenga todos elementos de primero que no est\u00e9n en el segundo y a la vez todos los elementos del segundo que no est\u00e9n en el primero. Es lo totalmente opuesto a la intersecci\u00f3n de los dos HashSet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para obtener la resta sim\u00e9trica, aplicamos la resta por separado a los dos HashSet y despu\u00e9s unimos ambos resultados.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.*;\n\npublic class Mis_HashSet {\n    public static void main(String[] args) {\n        Set &lt;Integer&gt; mis_enteros= new HashSet&lt;&gt;(Set.of(3,132,987,2,14,8734));\n        System.out.println(mis_enteros);\n        Set&lt;Integer&gt; mi_lista = new HashSet&lt;&gt;(Set.of(1,2,3,4,5));\n        System.out.println(mi_lista);\n        Set mi_resta=new HashSet&lt;&gt;(mis_enteros);\n        Set mi_otra_resta=new HashSet(mi_lista);\n        mi_resta.removeAll(mi_lista);\n        mi_otra_resta.removeAll(mis_enteros);\n        mi_resta.addAll(mi_otra_resta);\n        System.out.println(&quot;Resta sim\u00e9trica: &quot;+mi_resta);\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\n[2, 3, 132, 987, 14, 8734]\n[1, 2, 3, 4, 5]\nResta sim\u00e9trica: [1, 132, 4, 5, 987, 14, 8734]<\/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:#ef501f\" class=\"has-inline-color\">.containsAll( )<\/mark><\/em><\/strong> podemos saber si un HashSet es un subconjunto de otro, dicho de otra manera si un HashSet es mayor que otro. Este mismo m\u00e9todo nos puede valer para saber si dos HashSet son iguales.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.*;\n\npublic class Mis_HashSet {\n    public static void main(String[] args) {\n        Set &lt;Integer&gt; mis_enteros= new HashSet&lt;&gt;(Set.of(3,132,987,2,14,8734));\n        System.out.println(&quot;mis_enteros: &quot;+mis_enteros);\n        Set&lt;Integer&gt; mi_lista = new HashSet&lt;&gt;(Set.of(2,3,14,132));\n        System.out.println(&quot;mi_lista: &quot;+mi_lista);\n        if (mis_enteros.containsAll(mi_lista)){\n            if (mis_enteros.size() &gt; mi_lista.size()){\n                System.out.println(&quot;mi_lista es Subconjunto de mis_enteros.&quot;);\n            }\n            else{\n                System.out.println(&quot;mi_lista y mis_enteros son iguales.&quot;);\n            }\n        }\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\nmis_enteros: [2, 3, 132, 987, 14, 8734]\nmi_lista: [2, 3, 132, 14]\nmi_lista es Subconjunto de mis_enteros.<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Para saber si la intersecci\u00f3n de dos HashSet es el conjunto vaci\u00f3, es decir que no tienen ning\u00fan elemento en com\u00fan, podemos hacer uso de la funci\u00f3n <strong><em><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f5450f\" class=\"has-inline-color\">Collections.disjoint(set1, set2)<\/mark><\/em><\/strong><\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.*;\n\npublic class Mis_HashSet {\n    public static void main(String[] args) {\n        Set &lt;Integer&gt; mis_enteros= new HashSet&lt;&gt;(Set.of(3,132,987,2,14,8734));\n        Set &lt;Integer&gt; otros_enteros= new HashSet&lt;&gt;(Set.of(923,1,5,78));\n\n        System.out.println(&quot;mis_enteros: &quot;+mis_enteros);\n        System.out.println(&quot;otros_enteros: &quot;+otros_enteros);\n\n        if (Collections.disjoint(otros_enteros,mis_enteros)){\n            System.out.println(&quot;No tienen ning\u00fan elemento en com\u00fan&quot;);\n        }\n        else{\n            System.out.println(&quot;S\u00ed que tienen alg\u00fan elemento en com\u00fan.&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\nmis_enteros: [2, 3, 132, 987, 8734, 14]\notros_enteros: [1, 5, 923, 78]\nNo tienen ning\u00fan elemento en com\u00fan<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Para crear un duplicado de un HashSet pero que sea independiente al original no podemos usar cualquier m\u00e9todo, ya que corremos el riesgo de obtener un duplicado con otro nombre, pero cuyos elementos sean iguales y dependientes entre los dos HashSet de tal forma que si a\u00f1adimos (o borramos) un elemento en un HashSet, tambi\u00e9n se borre en el otro.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo mejor es partir de un HashSet vac\u00edo, a continuaci\u00f3n recorrer el original e ir a\u00f1adiendo elemento por elemento al nuevo.<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import java.util.*;\n\npublic class Mis_HashSet {\n    public static void main(String[] args) {\n        Set &lt;Integer&gt; mis_enteros= new HashSet&lt;&gt;(Set.of(3,132,987,2,14,8734));\n        Set mi_clonado = new HashSet();\n        for (int entero: mis_enteros){\n            mi_clonado.add(entero);\n        }\n        mi_clonado.remove(132);\n        System.out.println(&quot;mis_enteros: &quot;+mis_enteros);\n        System.out.println(&quot;mi_clonado: &quot;+mi_clonado);\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism off-numbers lang-plain\"><code>Resultado:\n\nmis_enteros: [2, 3, 132, 987, 14, 8734]\nmi_clonado: [2, 3, 987, 14, 8734]<\/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 HashSet es una estructura de datos que no est\u00e1 ordenada. Es decir, no podemos acceder a un elemento en concreto como lo har\u00edamos con un List o con ArrayList. Puede contener varios tipos de elementos a la vez, aunque no es lo m\u00e1s recomendable, ya que tendr\u00edamos problemas si queremos [&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-236","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/java.nosoyia.es\/index.php?rest_route=\/wp\/v2\/pages\/236","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=236"}],"version-history":[{"count":12,"href":"https:\/\/java.nosoyia.es\/index.php?rest_route=\/wp\/v2\/pages\/236\/revisions"}],"predecessor-version":[{"id":249,"href":"https:\/\/java.nosoyia.es\/index.php?rest_route=\/wp\/v2\/pages\/236\/revisions\/249"}],"wp:attachment":[{"href":"https:\/\/java.nosoyia.es\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=236"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}