Implementar uma interface de mapa em Java é uma tarefa muito importante. Para este propósito, temos TreeMap e HashMap . Neste artigo, nosso foco será no TreeMap em na seguinte ordem:
- O que é um TreeMap em Java?
- Características do TreeMaps
- Construtores em TreeMap
- Métodos em TreeMap
- Exemplo de TreeMap em Java
O que é um TreeMap em Java?
Um TreeMap em Java é usado para implementar a interface Map e NavigableMap junto com a classe abstrata. O mapa é classificado de acordo com a ordem natural de suas chaves ou por um Comparador fornecido no momento da criação do mapa, dependendo de qual construtor é usado. Isso prova ser uma maneira eficiente de classificar e armazenar os pares de valores-chave.
A ordem de armazenamento mantida pelo mapa de árvore deve ser consistente com iguais, como qualquer outro mapa classificado, independentemente dos comparadores explícitos. O mapa da árvorea implementação não é sincronizada no sentido de que se um mapa for acessado por vários encadeamentos, simultaneamente e pelo menos um dos encadeamentos modifica o mapa estruturalmente, ele deve ser sincronizado externamente.
Características do TreeMaps
Esta classe é membro do Java Collections Framework.
sal vs chef vs fantoche
A classe implementa interfaces Map incluindo NavigableMap, SortedMap e estende AbstractMap
TreeMap em Java não permite chaves nulas (como Map) e, portanto, uma NullPointerException é lançada. No entanto, vários valores nulos podem ser associados a chaves diferentes.
Todos os pares Map.Entry retornados por métodos nesta classe e suas visualizações representam instantâneos de mapeamentos no momento em que foram produzidos.
Eles não oferecem suporte ao método Entry.setValue.
Pontos importantes para lembrar
Além de implementar a interface Map, Java TreeMap também implementa NavigableMap e indiretamente implementa a interface SortedMap. TreeMap também estende a classe AbstractMap.
As entradas de TreeMap são classificadas na ordem natural de suas chaves. Ele também fornece um construtor para fornecer o Comparador a ser usado no pedido. Portanto, se você estiver usando qualquer classe como chave, certifique-se de implementar a interface Comparable para ordenação natural. Confira as perguntas da entrevista das coleções java para entender a importância desses métodos.
A implementação do Java TreeMap fornece custo de tempo log (n) garantido para as operações containsKey, get, put e remove.
TreeMap não é sincronizado e, portanto, não seguro para thread. Para ambientes multithread, você pode obter um empacotado sincronizado usando o método Collections.synchronizedSortedMap.
Os métodos TreeMap para obter o conjunto de chaves e os valores retornam o Iterator de natureza rápida para falhas, portanto, qualquer modificação simultânea lançará ConcurrentModificationException.
TreeMap em java não permite chaves nulas, no entanto, você pode ter vários valores nulos associados a chaves diferentes.
Construtores em TreeMap
Construtor | Descrição |
TreeMap () | Constrói um mapa de árvore vazio que será classificado usando a ordem natural de suas chaves. |
TreeMap (comp comparador) | Constrói um mapa baseado em árvore vazio que será classificado usando o Comparator comp. |
TreeMap (mapa m) | Inicializa um mapa de árvore com as entradas de m, que serão classificadas usando a ordem natural das chaves. |
TreeMap (SortedMap sm) | Inicializa um mapa de árvore com as entradas do SortedMap sm, que serão classificadas na mesma ordem que sm. |
Métodos em TreeMap
Método | Descrição |
void clear () | Remove todos os mapeamentos deste TreeMap. |
Clone de objeto () | Retorna uma cópia superficial desta instância TreeMap. |
Comparador comparador () | Retorna o comparador usado para ordenar este mapa, ou null se este mapa usa a ordem natural de suas chaves. |
boolean containsKey (chave do objeto) | Retorna verdadeiro se este mapa contém um mapeamento para a chave especificada. |
boolean containsValue (valor do objeto) | Retorna verdadeiro se este mapa mapeia uma ou mais chaves para o valor especificado. |
Definir entrySet () | Retorna uma visualização definida dos mapeamentos contidos neste mapa. |
Objeto firstKey () | Retorna a primeira chave (mais baixa) atualmente neste mapa classificado. |
Object get (Object key) | Retorna o valor para o qual este mapa mapeia a chave especificada. |
SortedMap headMap (objeto toKey) | Retorna uma visualização da parte deste mapa cujas chaves são estritamente menores que toKey. |
Definir keySet () | Retorna uma visualização Set das chaves contidas neste mapa. |
Objeto lastKey () | Retorna a última chave (mais alta) atualmente neste mapa classificado. |
Object put (Object key, Object value) | Associa o valor especificado à chave especificada neste mapa. |
void putAll (mapa do mapa) | Copia todos os mapeamentos do mapa especificado para este mapa. |
Remover objeto (chave do objeto) | Remove o mapeamento para esta chave deste TreeMap, se presente. |
tamanho interno () | Retorna o número de mapeamentos de valores-chave neste mapa. |
SortedMap submap (Object fromKey, Object toKey) | Retorna uma visualização da parte deste mapa cujas chaves variam de fromKey, inclusive, a toKey, exclusivo. |
SortedMap tailMap (Object fromKey) | Retorna uma visualização da parte deste mapa cujas chaves são maiores ou iguais a fromKey. |
Valores de coleção () | Retorna uma visualização de coleção dos valores contidos neste mapa. |
Exemplo de TreeMap em Java
import java.util.TreeMap public class TreeMapMain {public static void main (String args []) {// TreeMap com País como chave e capital como valor // TreeMap armazena elementos na ordem natural das chaves. TreeMap countryCapitalMap = new TreeMap () countryCapitalMap.put ('Índia', 'Delhi') countryCapitalMap.put ('Japão', 'Tóquio') countryCapitalMap.put ('França', 'Paris') countryCapitalMap.put ('Rússia' , 'Moscow') System.out.println ('-----------------------------') // Iterando TreeMap usando keySet ( ) e para cada loop System.out.println ('Iterando TreeMap usando keySet () e para cada loop') para (String countryKey: countryCapitalMap.keySet ()) {System.out.println ('Country:' + countryKey + ' e Capital: '+ countryCapitalMap.get (countryKey))} System.out.println (' ----------------------------- ' )}}
Resultado:
Com isso, chegamos ao fim deste artigo TreeMap em Java. C que diabo pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. O curso de certificação e treinamento Java J2EE e SOA da Edureka é projetado para estudantes e profissionais que desejam ser um desenvolvedor Java. O curso foi elaborado para dar a você uma vantagem inicial na programação Java e treiná-lo para os conceitos básicos e avançados de Java, juntamente com várias estruturas Java como Hibernate e Spring.
Tem alguma questão para nós? Mencione isso na seção de comentários deste blog “TreeMap in Java” e entraremos em contato com você o mais breve possível.