Key Difference – TreeSet vs TreeMap
Um array é usado para armazenar um conjunto de elementos de dados do mesmo tipo. A maioria das linguagens de programação suporta Arrays. Mesmo que um array possa armazenar vários valores; há uma grande desvantagem. Uma vez que o array é criado, não é possível alterá-lo. Se o programador declarou um array de 10 elementos, então ele não pode armazenar 15 elementos. Quando o programador declara um array de 10 elementos e armazena apenas 5 elementos, o restante da memória alocada é um desperdício. Linguagens de programação como Java possuem coleções para armazenar elementos de dados dinamicamente. Há uma série de coleções. As coleções ajudam a adicionar, remover elementos e outras operações. A interface base é conhecida como Coleção. Set, List e Queue são algumas interfaces que estendem a interface Collection. Map é uma interface de hierarquia de coleção, mas não estende a interface de coleção. TreeSet é uma classe que implementa a interface Set e armazena os elementos em ordem crescente. TreeMap é uma classe que implementa a interface Map e armazena pares de chave e valor em ordem crescente. Essa é a diferença fundamental. Este artigo discute a diferença entre TreeSet e TreeMap.
O que é TreeSet?
O TreeSet é uma classe que implementa a interface Set. O TreeSet mantém elementos exclusivos. TreeSet implementa a interface NavigableSet. A interface Navigable estende as interfaces SortedSet, Set, Collection e Iterable em ordem hierárquica. TreeSet armazena os elementos em ordem crescente. Se a ordem de inserção for A, C, B, o TreeSet irá armazená-los como A, B, C. Existem métodos de TreeSet. O método add é usado para adicionar um elemento ao Set. O método remove é usado para remover um elemento especificado. O método clear é usado para remover todos os elementos. O método contains retorna um true se o elemento especificado estiver presente no Set. São alguns métodos fornecidos pelo TreeSet. Consulte o programa abaixo.
Figura 01: Programar usando TreeSet
De acordo com o programa acima, Treeset é um objeto do tipo TreeSet. Ele pode armazenar Strings. Os elementos são adicionados usando o método add. A ordem de inserção é A, C, D e B. Usando o iterador, os valores armazenados são impressos na tela. Os elementos são armazenados na ordem A, B, C, D. Portanto, o TreeSet mantém uma ordem crescente dos elementos do Set. Se houver outro elemento como “D” ele não será impresso porque o elemento D já existe no Set. Ele sempre armazena elementos únicos.
O que é TreeMap?
TreeMap é uma classe que implementa a interface Map. O mapa oferece suporte a pares de valores-chave. Cada chave, par de valor é uma entrada. Cada chave é única e tem um valor correspondente. O método containsKey é usado para localizar uma chave específica, enquanto o método containsValue é usado para localizar um valor específico. O método get é usado para encontrar o valor correspondente à chave fornecida. O método put é usado para armazenar um valor com a chave fornecida. Também é possível remover um elemento em uma chave específica usando o método remove. Esses são alguns métodos comuns da interface Map. Ajuda a pesquisar, inserir e excluir elementos com base na chave. A classe TreeMap implementa NavigableMap. NavigableMap estende SortedMap. SortedMap estende Map. Portanto, os métodos de Map podem ser usados com TreeMap. Consulte o programa abaixo.
Figura 02: Programar usando TreeMap
De acordo com o programa acima, um objeto TreeMap é criado. O programador pode adicionar elementos usando o objeto. O método put é usado para inserir pares de chave e valor. O método get é usado com a chave específica para buscar os elementos. O programador pode usar Map. Entry para imprimir todas as chaves e valores. Ao observar a saída, não mantém a ordem inserida. Ele armazena os elementos em ordem crescente.
Quais são as semelhanças entre TreeSet e TreeMap?
- Tanto TreeSet quanto TreeMap estão na hierarquia da coleção.
- Tanto TreeSet quanto TreeMap mantêm a ordem crescente.
- Tanto TreeSet quanto TreeMap podem armazenar e manipular muitos elementos.
Qual é a diferença entre TreeSet e TreeMap?
TreeSet vs TreeMap |
|
TreeSet é uma classe que implementa a interface Set e armazena os elementos em ordem crescente. | TreeMap é uma classe que implementa a interface Map e armazena pares de chave e valor em ordem crescente. |
Interface Implementada | |
TreeSet implementa a interface Set. | TreeMap implementa a interface Map. |
Resumo – TreeSet vs TreeMap
Um array é usado para armazenar um conjunto de elementos, mas não ajuda a armazenar elementos dinamicamente. Linguagens de programação como Java contém coleções para armazenar elementos de dados dinamicamente. Collection é a classe base na hierarquia de coleções. Consiste em classes e interfaces para realizar operações como adicionar, deletar elementos. Set e Map são duas interfaces de hierarquia de coleções. TreeSet é uma classe que implementa a interface Set e armazena os elementos em ordem crescente. TreeMap é uma classe que implementa a interface Map e armazena pares de chave e valor em ordem crescente. Essa é a diferença entre TreeSet e TreeMap.