Red de conocimiento informático - Aprendizaje de programación - Uso de HashSet y TreeSet

Uso de HashSet y TreeSet

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

1.HashSet se implementa a través de HashMap, TreeSet se implementa a través de TreeMap, pero Set solo usa la clave Map.

2. La clave mapeada y el conjunto tienen la misma característica, que es la unicidad del conjunto. TreeMap también tiene una función de clasificación adicional.

3.HashMap usa hashCode e igual (). Dado que no es necesario ordenar, solo debe prestar atención al posicionamiento y la unicidad.

A.hashCode se utiliza para calcular el valor hash y el valor hash se utiliza para determinar el índice de la tabla hash.

B. La lista vinculada se almacena en el índice de la tabla hash y cada objeto de la cadena debe compararse cíclicamente mediante el método igual.

Solo así se podrá localizar verdaderamente la entrada correspondiente al valor clave.

C.put, si no está en la tabla hash, agrega una entrada al frente de la lista vinculada. Si se encuentra, reemplaza el valor de la entrada y devuelve el valor anterior.

4. Debido a que TreeMap necesita ordenarse, necesita un comparador para comparar el tamaño de los valores clave. Por supuesto, también se posiciona a través del comparador.

A. El comparador se puede especificar al crear el diagrama de árbol.

B. Si no está seguro al crear, utilice el método key.compareTo(). Este método requiere que la clave implemente la interfaz Comparable.

C.TreeMap se implementa utilizando una estructura de datos de árbol, por lo que el posicionamiento se puede completar utilizando la interfaz de comparación.

= = = = = = = = = = = = = = = = = = = = = = = = = = = Su uso = = = = = = = = = = = = = = = = = = = =

Uso de HashSet

Importar Java util . >Clase pública WpsklHashSet

{

//Usar conjunto en //java (no se permiten objetos duplicados):

Public static void main(String [] args)

{

HashSet HashSet = nuevo HashSet();

Cadena a = nueva cadena (" A ");

Cadena b = nueva cadena (" B ");

Cadena c = nueva cadena (" B "); p>hashset . add(b);

sistema. println(hashset . size());

Cadena cz=hashSet.add(c)? "Este objeto no existe": "Ya existe";

System.out.println("Prueba si el objeto se puede agregar" cz);

system out. println(hashset .isempty());

//Prueba si ya contiene un objeto.

sistema . out . println(hashset . contiene(" A "));

Iterador IR = hashset(); hasNext())

{

sistema . println(IR . next());

}

// Pruebas si el objeto se puede eliminar.

sistema . println(hashset . remove(" A "));

sistema .

//Después de la prueba, si desea utilizar la variable ir nuevamente, debe actualizar el siguiente contenido.

IR = hashset . iterador();

mientras(ir.hasNext())

{

sistema. (IR . siguiente());

}

}

}

/**

* A través de este programa, también puede probar el desorden de los elementos agregados de la colección del árbol y el orden de salida.

*/

Importar Java .treeset;

Importar Java .iterador

Clase pública TreeSetTest

{

Public static void main(String[] args)

{

TreeSet árbol = new TreeSet();

tree.add("China");

tree .add(" América ");

tree.add("Japón");

tree.add("Chino");

iterador ITER = árbol . iterador();

while(iter.hasNext())

{

sistema . out . println(ITER . next());

}

}

}

Arriba Es su diferencia y uso, el énfasis está en la comprensión y los usos múltiples. Te deseo éxito.

Escribir no es fácil. Si está satisfecho, adopte.