Diccionarios y tablas hash

Hola: 1. Tabla hash

Una tabla hash representa un conjunto de pares clave/valor. existir. NET framework, Hashtable es un contenedor proporcionado por el sistema. El espacio de nombres de colecciones se usa para procesar y representar pares clave-valor similares a clave-valor, donde la clave generalmente se usa para una búsqueda rápida y distingue entre mayúsculas y minúsculas. El valor se usa para almacenar el valor correspondiente a la clave. Los pares clave-valor clave-valor en Hashtable son de tipo de objeto nulo, por lo que Hashtable puede admitir cualquier tipo de par clave-valor clave-valor, y cualquier objeto no nulo se puede utilizar como clave o valor.

Agrega un par clave/clave-valor a la tabla hash: HashtableObject. Add(key,);

Elimina un par clave/clave-valor de la tabla hash. remove(key);

Elimina todos los elementos de la tabla hash. clear();

Determina si la tabla hash contiene una clave específica: objeto de tabla hash. Contiene (clave);

2. Hasht

La clase HashSet ltT gt está diseñada principalmente para operaciones de conjuntos de alto rendimiento, como la intersección y unión de dos conjuntos, Diferencia. Un conjunto contiene un conjunto de elementos que son únicos y no tienen un orden característico. HashSet se niega a aceptar objetos duplicados.

Algunas funciones de HashSet ltT gt son las siguientes:

a. Los valores en HashSet ltT gt no se pueden repetir y no hay orden.

La capacidad de b.HashSet ltT gt se agregará automáticamente según sea necesario.

3. Diccionario

El diccionario representa una colección de claves y valores.

Diccionario ltstring, string gtEste es un medicamento genérico.

Tiene en sí misma la función de una colección y, a veces, también puede considerarse como una matriz.

Su estructura es la siguiente: Diccionario

Su característica es que el objeto a almacenar debe almacenarse en correspondencia uno a uno con el valor de [clave].

Encontrar el valor correspondiente a través de una determinada [clave]

La diferencia entre 4.4. Tabla hash y diccionario:

(1).HashTable no admite genéricos, pero Dictionary sí.

Elemento 2) de (2). Hashtable es un tipo de objeto, por lo que las operaciones de boxeo y desempaquetado generalmente ocurren al almacenar o recuperar tipos de valores, por lo que es posible que se requieran algunas operaciones de conversión de tipos para tipos de valores como int, float, etc. requiere mucho tiempo.

(3) Los diccionarios se recomiendan para programas de un solo subproceso. Los diccionarios tienen la ventaja de ser genéricos, leer más rápido y aprovechar al máximo la capacidad. Se recomienda utilizar Hashtable en programas multiproceso. La tabla hash predeterminada permite la escritura en un solo subproceso y la lectura en varios subprocesos. Otras llamadas al método Synchronized() en Hashtable pueden dar como resultado un tipo totalmente seguro para subprocesos. Los diccionarios no son seguros para subprocesos y deben protegerse manualmente mediante declaraciones de bloqueo, lo que reduce en gran medida la eficiencia.

(4) A través de pruebas de código, se descubrió que la eficiencia de que la clave sea un diccionario de enteros es más rápida que la de Hashtable. Si las claves son cadenas, el diccionario no es tan eficiente como un Hashtable.