Una colección Set es una colección compuesta por una serie de elementos desordenados y no repetidos del mismo tipo. Al almacenar datos, primero se debe determinar el valor hashCode de sus elementos y, si es diferente, se almacenará.
1) La colección de conjuntos es una subclase de la colección Colección.
2) Una colección que no contiene elementos duplicados.
3) No existe un método indexado, por lo que no se puede recorrer con un bucle for normal.
agregar (elemento de objeto) : agrega el elemento especificado al final de la colección Set.
eliminar (elemento de objeto) : si el elemento especificado existe en la colección Set, elimine el elemento de la colección Set.
clear() : elimina todos los elementos de la colección Set.
isEmpty() : determina si hay elementos en la colección Set. Si no devuelve verdadero, devolverá falso.
contiene (elemento de objeto) : determina si la colección Set contiene el elemento especificado, devuelve verdadero si lo contiene y falso si no lo contiene.
iterator() : Devuelve un objeto iterador (Iterator), que se utiliza para recorrer la colección.
size() : Devuelve el número de elementos de la colección Set y el valor de retorno es de tipo int.
Por ejemplo:
importjava.util.HashSet;importjava.util.Set;publicclassMain{publicstaticvoidmain(String[]args){Setset=newHashSet();Stringb=B;//Agregar elementos al conjunto set.add(A);set.add( b);set.add(C);set.add(b);set.add(D);set.add(b);set.add(E);//Imprime el número de elementos establecidos System.out. println (set size=+set.size());//Imprime el conjunto System.out.println(set);//Elimina el primer elemento "B" del conjunto set.remove(b);//Determina si el conjunto contiene el elemento "B" System.out.println (si contiene B: +set.contains(b) // Determina si el conjunto está vacío System.out.println (el conjunto está vacío) : +set.isEmpty( ));//Borrar la colección set.clear();System.out.println(set);}}
Los resultados de ejecución son los siguientes:
Si el conjunto size=5[A,b,C,D,E] contiene B: falseset El conjunto está vacío: false[]
El valor hash es el valor de la clase int calculado por JDK en función de la dirección o el número del elemento u-ésimo. Hay una manera de obtener el valor hash en la clase Object, public int hashCode(); .
Las características de los valores hash de los objetos son las siguientes:
1) El valor hash devuelto por el método hashCode() es el mismo cuando se llama varias veces en el mismo objeto.
2) De forma predeterminada, los valores hash de diferentes objetos son diferentes, pero puede hacer que los valores hash sean los mismos anulando el método hashCode.
Nota : Diferentes cadenas tienen el mismo valor hash, porque String anula el método hashCode, como "Chongdi" y "Call", ambos valores hash son 1179395.