Diferença entre HashMap e TreeMap

Índice:

Diferença entre HashMap e TreeMap
Diferença entre HashMap e TreeMap

Vídeo: Diferença entre HashMap e TreeMap

Vídeo: Diferença entre HashMap e TreeMap
Vídeo: Разница между HashMap и TreeMap Java собеседование 2024, Junho
Anonim

Key Difference – HashMap vs TreeMap

Na programação, existem vários mecanismos para coletar dados. Coleções é um método para armazenar dados. Linguagens de programação como Java usam coleções. É um framework com classes e interfaces para armazenar e manipular um conjunto de elementos de dados. Em uma matriz normal, há um número fixo de elementos para armazenar. Essa é uma limitação de matrizes. Em vez disso, o programador pode usar coleções. Operações como inserir, excluir, classificar e pesquisar podem ser realizadas usando coleções. Em Java, a interface Map pertence às coleções. O mapa é usado para representar dados nos pares de chave e valor. Existem apenas chaves exclusivas e cada uma tem um valor correspondente. HashMap e TreeMap são classes que implementam a interface Map. Um HashMap é uma classe de coleção baseada em Map que é usada para armazenar pares de chave e valor que não mantêm uma ordem específica nos elementos de dados. Um TreeMap é uma classe de coleção baseada em Map que é usada para armazenar pares de chave e valor que mantêm a ordem crescente dos elementos de dados. A principal diferença entre HashMap e TreeMap é que HashMap não mantém uma ordem específica nos elementos de dados, enquanto TreeMap mantém a ordem crescente dos elementos de dados.

O que é HashMap?

HashMap é uma classe que implementa a interface do mapa. Ele estende a classe AbstractMap e implementa a interface Map. Um HashMap contém os pares de chave e valor. Cada elemento é único. É fácil encontrar os elementos no HashMap usando a chave. Declarar um HashMap é o seguinte.

classe pública HashMap estende AbstractMap implementa Map, Cloneable, Serializable

O K refere-se à chave enquanto V refere-se ao valor correspondente a essa chave específica. Cada par de chave e valor é uma entrada do HashMap.

Diferença entre HashMap e TreeMap
Diferença entre HashMap e TreeMap

Figura 01: Interface do Mapa

Assuma um cenário como segue para entender o HaspMap. Se lá o programador quiser armazenar um conjunto de nomes de alunos e números de índice correspondentes, ele pode usar o HashMap. Os nomes dos alunos são usados para encontrar os números de índice. Portanto, os nomes dos alunos são as chaves, enquanto os números de índice são os valores.

Diferença entre HashMap e TreeMap _Figura 02
Diferença entre HashMap e TreeMap _Figura 02

Figura 02: Programa HashMap Usando Java

De acordo com o programa acima, um objeto de HashMap é criado. Em seguida, o programador pode adicionar elementos usando esse objeto. Os valores podem ser inseridos usando o método put. Para buscar os valores, o programador deve usar o método get com a chave. Ao usar studentList.get(“150”); ele imprimirá o nome correspondente a esse índice que é Ann. Se o programador quiser obter todos os valores, ele poderá usar Map. Entry para imprimir todas as chaves e valores. Ao observar a saída, pode-se observar que o HashMap não mantém uma ordem específica. Não imprime os elementos na ordem inserida. Os elementos são impressos em ordem aleatória.

O que é TreeMap?

O TreeMap é uma classe em Java que implementa a interface Map. Semelhante a um HashMap, também é usado para armazenar pares de chave e valor, mas em ordem crescente. O TreeMap implementa o NavigableMap e o NavigableMap estende SortedMap e SortedMap estende Map. Cada elemento é único. Declarar um TreeMap é o seguinte.

classe pública TreeMap estende AbstractMap implementa NavigableMap, Cloneable, Serializable

O K refere-se à chave enquanto V refere-se ao valor correspondente a essa chave específica. Cada par de chave e valor é uma entrada do TreeMap.

Diferença chave entre HashMap e TreeMap
Diferença chave entre HashMap e TreeMap

Figura 03: Programa TreeMap usando Java

De acordo com o programa acima, um objeto TreeMap é criado. Em seguida, o programador pode adicionar elementos usando esse objeto. Os valores podem ser inseridos usando o método put. Para buscar os valores, o programador deve usar o método get com a chave. Ao usar studentList.get(“150”); ele imprimirá o nome correspondente a esse índice que é Ann. Se o programador quiser obter todos os valores, ele poderá usar Map. Entry para imprimir todas as chaves e valores. Ao observar a saída, pode-se observar que TreeMap mantém uma ordem específica. Os elementos são impressos em ordem crescente.

Quais são as semelhanças entre HashMap e TreeMap?

  • Tanto o HashMap quanto o TreeMap implementam a interface Map.
  • Tanto o HashMap quanto o TreeMap podem armazenar e manipular muitos elementos.
  • Tanto HashMap quanto TreeMap contém pares de chave e valor.
  • Tanto HashMap quanto TreeMap podem ter muitos valores nulos.
  • Não há limitação para o número de elementos que podem ser armazenados em HashMap e TreeMap.

Qual é a diferença entre HashMap e TreeMap?

HashMap vs TreeMap

Um HashMap é uma classe de coleção baseada em Map que é usada para armazenar pares de chave e valor que não mantêm uma ordem específica nos elementos de dados. Um TreeMap é uma classe de coleção baseada em Map que é usada para armazenar pares de chave e valor que mantém a ordem crescente dos elementos de dados.
Ordem
O HashMap não mantém a ordem. O TreeMap mantém a ordem crescente.
Null Key
O HashMap pode conter uma chave nula. O TreeMap não pode ter uma chave nula.
Performance
HashMap é mais rápido que TreeMap. TreeMap é mais lento que HashMap.

Resumo – HashMap vs TreeMap

Linguagens de programação como Java contém o framework de coleção. Em arrays, pode haver um número fixo de elementos. Portanto, o tamanho da matriz deve ser inicializado no início. Nas coleções, o programador pode armazenar muitos elementos conforme necessário. Não há uma quantidade específica para armazenar. O mapa é uma interface pertencente ao framework de coleta. Um HashMap é uma classe de coleção baseada em Map que é usada para armazenar pares de chave e valor que não mantêm uma ordem específica nos elementos de dados. Um TreeMap é uma classe de coleção baseada em Map que é usada para armazenar pares de chave e valor que mantém a ordem crescente dos elementos de dados. Este artigo discutiu a diferença entre HashMap e TreeMap que implementa a interface Map. A diferença entre HashMap e TreeMap é que HashMap não mantém uma ordem específica nos elementos de dados enquanto TreeMap mantém a ordem crescente dos elementos de dados.

Recomendado: