Diferencia entre HashMap y TreeMap

Tabla de contenido:

Diferencia entre HashMap y TreeMap
Diferencia entre HashMap y TreeMap

Video: Diferencia entre HashMap y TreeMap

Video: Diferencia entre HashMap y TreeMap
Video: Разница между HashMap и TreeMap Java собеседование 2024, Noviembre
Anonim

Diferencia clave: HashMap vs TreeMap

En la programación, existen varios mecanismos para recopilar datos. Colecciones es un método para almacenar datos. Los lenguajes de programación como Java utilizan Colecciones. Es un marco con clases e interfaces para almacenar y manipular un conjunto de elementos de datos. En una matriz normal, hay un número fijo de elementos para almacenar. Esa es una limitación de las matrices. En cambio, el programador puede usar colecciones. Las operaciones como insertar, eliminar, clasificar y buscar se pueden realizar utilizando colecciones. En Java, la interfaz Map pertenece a las colecciones. El mapa se utiliza para representar datos en los pares clave-valor. Solo hay claves únicas, y cada una tiene un valor correspondiente. HashMap y TreeMap son clases que implementan la interfaz Map. Un HashMap es una clase de colección basada en mapas que se usa para almacenar pares de clave y valor que no mantienen un orden específico en los elementos de datos. Un TreeMap es una clase de colección basada en mapas que se utiliza para almacenar pares de clave y valor que mantienen el orden ascendente de los elementos de datos. La diferencia clave entre HashMap y TreeMap es que HashMap no mantiene un orden específico en los elementos de datos, mientras que TreeMap mantiene el orden ascendente de los elementos de datos.

¿Qué es HashMap?

HashMap es una clase que implementa la interfaz del mapa. Extiende la clase AbstractMap e implementa la interfaz Map. Un HashMap contiene los pares de clave y valor. Cada elemento es único. Es fácil encontrar los elementos en HashMap usando la clave. La declaración de un HashMap es la siguiente.

clase pública HashMap extiende AbstractMap implementa Map, Cloneable, Serializable

La K se refiere a la tecla mientras que la V se refiere al valor correspondiente a esa tecla específica. Cada par clave-valor es una entrada del HashMap.

Diferencia entre HashMap y TreeMap
Diferencia entre HashMap y TreeMap

Figura 01: Interfaz del mapa

Suponga un escenario como el siguiente para comprender el HaspMap. Si allí el programador quiere almacenar un conjunto de nombres de estudiantes y los números de índice correspondientes, puede usar el HashMap. Los nombres de los estudiantes se utilizan para encontrar los números de índice. Por lo tanto, los nombres de los estudiantes son las claves, mientras que los números de índice son los valores.

Diferencia entre HashMap y TreeMap _Figura 02
Diferencia entre HashMap y TreeMap _Figura 02

Figura 02: Programa HashMap usando Java

Según el programa anterior, se crea un objeto de HashMap. Luego, el programador puede agregar elementos usando ese objeto. Los valores se pueden insertar mediante el método put. Para obtener los valores, el programador debe usar el método get con la clave. Al usar studentList.get(“150”); imprimirá el nombre correspondiente a ese índice que es Ann. Si el programador quiere obtener todos los valores, entonces puede usar Map. Entry para imprimir todas las claves y valores. Al observar la salida, se puede ver que HashMap no mantiene un orden específico. No imprime los elementos en el orden insertado. Los elementos se imprimen en orden aleatorio.

¿Qué es TreeMap?

El TreeMap es una clase en Java que implementa la interfaz Map. Similar a un HashMap, también se usa para almacenar pares de clave y valor, pero en orden ascendente. TreeMap implementa NavigableMap y NavigableMap extiende SortedMap y SortedMap extiende Map. Cada elemento es único. La declaración de un TreeMap es la siguiente.

clase pública TreeMap extiende AbstractMap implementa NavigableMap, Cloneable, Serializable

La K se refiere a la tecla mientras que la V se refiere al valor correspondiente a esa tecla específica. Cada par clave-valor es una entrada del TreeMap.

Diferencia clave entre HashMap y TreeMap
Diferencia clave entre HashMap y TreeMap

Figura 03: Programa TreeMap usando Java

Según el programa anterior, se crea un objeto de TreeMap. Luego, el programador puede agregar elementos usando ese objeto. Los valores se pueden insertar usando el método put. Para obtener los valores, el programador debe usar el método get con la clave. Al usar studentList.get(“150”); imprimirá el nombre correspondiente a ese índice que es Ann. Si el programador quiere obtener todos los valores, entonces puede usar Map. Entry para imprimir todas las claves y valores. Al observar la salida, se puede ver que TreeMap mantiene un orden específico. Los elementos se imprimen en orden ascendente.

¿Cuáles son las similitudes entre HashMap y TreeMap?

  • Tanto HashMap como TreeMap implementan la interfaz de mapa.
  • Tanto HashMap como TreeMap pueden almacenar y manipular muchos elementos.
  • Tanto HashMap como TreeMap contienen pares clave-valor.
  • Tanto HashMap como TreeMap pueden tener muchos valores nulos.
  • No hay límite para la cantidad de elementos que se pueden almacenar tanto en HashMap como en TreeMap.

¿Cuál es la diferencia entre HashMap y TreeMap?

HashMap frente a TreeMap

A HashMap es una clase de colección basada en mapas que se utiliza para almacenar pares de clave y valor que no mantienen un orden específico en los elementos de datos. A TreeMap es una clase de colección basada en mapas que se utiliza para almacenar pares de claves y valores que mantienen el orden ascendente de los elementos de datos.
Pedido
El HashMap no mantiene el orden. El TreeMap mantiene el orden ascendente.
Clave nula
El HashMap puede contener una clave nula. El TreeMap no puede tener una clave nula.
Rendimiento
HashMap es más rápido que TreeMap. TreeMap es más lento que HashMap.

Resumen: HashMap frente a TreeMap

Los lenguajes de programación como Java contienen el marco de la colección. En las matrices, puede haber un número fijo de elementos. Por lo tanto, el tamaño de la matriz debe inicializarse al principio. En las colecciones, el programador puede almacenar tantos elementos como sea necesario. No hay una cantidad específica para almacenar. El mapa es una interfaz que pertenece al marco de la colección. Un HashMap es una clase de colección basada en mapas que se usa para almacenar pares de clave y valor que no mantienen un orden específico en los elementos de datos. Un TreeMap es una clase de colección basada en mapas que se utiliza para almacenar pares de clave y valor que mantienen el orden ascendente de los elementos de datos. Este artículo discutió la diferencia entre HashMap y TreeMap que implementa la interfaz Map. La diferencia entre HashMap y TreeMap es que HashMap no mantiene un orden específico en los elementos de datos, mientras que TreeMap mantiene el orden ascendente de los elementos de datos.

Recomendado: