los diferencia principal entre Hashtable y Dictionary es que el Hashtable es una estructura de datos de tipo débil, por lo que es posible agregar claves y valores de cualquier tipo, mientras que el Diccionario es una estructura de datos de tipo fuerte, por lo que solo es posible agregar los elementos que satisfacen los tipos de datos especificados para clave y valor.
Hashtable y diccionario son dos estructuras de datos principales. Ambos pueden contener datos como pares de valores clave. Un Hashtable o un Diccionario solo pueden contener claves únicas. El programador puede encontrar o eliminar un valor específico con la tecla. Hashtable no es muy tipado. Por lo tanto, el programador puede agregar cualquier elemento del par clave-valor al Hashtable. Por otro lado, el Diccionario está fuertemente tipado. El programador debe especificar los tipos de datos de las claves y valores. No es posible agregar elementos que no satisfagan los tipos de datos dados. Por ejemplo, si el diccionario tiene un tipo genérico.
1. ¿Qué es el tipo de datos genéricos?
- Definición
2. Que es Hashtable
- Definición, Funcionalidad
3. Que es el diccionario
- Definición, Funcionalidad
4. Diferencia entre Hashtable y Diccionario
- Comparación de diferencias clave
Diccionario, Hashtable, Estructuras de datos
Un tipo de datos genérico es un tipo de datos que permite al usuario definir clases y métodos con marcadores de posición. Los compiladores como C # pueden reemplazar los marcadores de posición con el tipo de datos especificado en el momento de la compilación. Se utiliza para crear clases y métodos de propósito general. Al definir una clase genérica, el programador debe usar corchetes angulares (<>). Estos paréntesis declaran una clase o método como tipo genérico.
Un Hashtable es una estructura de datos que implementa un tipo de datos abstractos de matriz asociativa, una estructura que puede asignar la clave a los valores. No es un tipo de datos genérico. Consulte un fragmento de código de la siguiente manera.
Figura 1: programa C # con Hashtable
En el programa anterior, números Es un objeto de tipo Hashtable. Los pares clave-valor se agregan al hashtable. De la declaración 15 a 17, las claves son de tipo int y los valores son de tipo cadena. En la declaración 18, la clave y el valor son cadenas. Un Hashtable es una estructura de datos mecanografiada semanalmente. Por lo tanto, el programador puede agregar claves y valores de cualquier tipo al Hashtable.
Figura 2: Salida del programa HashTable
La salida del programa es la anterior. The Hashtable no imprime los registros de acuerdo con el orden en que se agregaron los elementos. Por lo tanto, no mantiene el pedido insertado..
Un diccionario utiliza el concepto de Hashtable. Es un tipo de datos genérico. Consulte el siguiente programa. nombres es un objeto de tipo Diccionario. Tiene tipos de datos específicos para almacenar por claves y valores. Según este programa, los tipos genéricos se definen como
Figura 3: Programa C # con Diccionario
Todos los elementos agregados al diccionario anterior tienen pares de clave y valor de tipo Cadena. La impresión de la clave y los valores en la consola dará un resultado similar al de la figura 4. Al recuperar los elementos del Diccionario, se imprimirán los registros en el mismo orden en que se agregaron los elementos. Por lo tanto, mantiene el orden insertado..
Figura 4: Salida del programa del diccionario
En general, el diccionario es de ejecución rápida pero no proporciona seguridad para subprocesos.
Un Hashtable es una estructura de datos que implementa un tipo de datos abstractos de matriz asociativa, una estructura que puede asignar la clave a los valores. Un Diccionario es una estructura de datos basada en Hashtable que almacena valores en base a claves.
Además, Hashtable es una estructura de datos de tipo débil. Por lo tanto, el programador puede agregar claves y valores de cualquier tipo de objeto al Hashtable. Un diccionario es una estructura de datos fuertemente tipada. ( Además, Hashtable no es genérico, mientras que el Diccionario es de tipo genérico.. Además, hay boxeo y unboxing en Hashtable pero no en Dictionary. El Diccionario consume una memoria mínima y se ejecuta más rápido que el Hashtable. Recuperar los elementos en el Hashtable no mantiene el orden insertado. Por otro lado, recuperar los elementos de un Diccionario mantiene el orden insertado. Por otra parte, Hashtable proporciona más seguridad de hilo. Admite varios subprocesos de lectura y un único subproceso de escritura. Diccionario no proporciona seguridad de subprocesos. Para implementar la seguridad de subprocesos, el programador debe escribir su propio código sincronizado. Hashtable ht = new Hashtable (); Diccionario La diferencia entre Hashtable y Dictionary es que Hashtable es una estructura de datos de tipo débil, por lo que es posible agregar claves y valores de cualquier tipo, mientras que el Diccionario es una estructura de datos de tipo fuerte, por lo que solo es posible agregar los elementos que cumplen con los requisitos especificados. Tipos de datos para clave y valor. 1. "C # Hashtable Class." Www.tutorialspoint.com, Tutorials Point, 21 de julio de 2018, disponible aquí.Tipo
Velocidad de ejecución
Recuperando los elementos
Seguridad del hilo
Ejemplo de sintaxis
Conclusión
Referencia:
2. “C # Hashtable”. Tipos de datos en C #, Tutorials Teacher. Disponible aquí.
3. "C # Dictionary - Javatpoint". Www.javatpoint.com, disponible aquí.