Interface de mapa navegável Java
Interface Java NavigableMap
Neste tutorial, aprenderemos sobre a interface Java NavigableMap e seus métodos com a ajuda de um exemplo.
O
NavigableMap
A interface da estrutura de coleções Java fornece os recursos para navegar entre as entradas do mapa. É considerado como um tipo de SortedMap.
Classe que implementa NavigableMap
Desde
NavigableMap
é uma interface, não podemos criar objetos a partir dela. Para usar as funcionalidades do
NavigableMap
interface, precisamos usar o TreeMap
classe que implementa NavigableMap
. Como usar o NavigableMap?
Em Java, devemos importar o
java.util.NavigableMap
pacote para usar NavigableMap
. Depois de importar o pacote, veja como podemos criar um mapa navegável.
// NavigableMap implementation by TreeMap class
NavigableMap<Key, Value> numbers = new TreeMap<>();
No código acima, criamos um mapa navegável chamado numbers dos
TreeMap
classe. Aqui,
- Chave - um identificador único usado para associar cada elemento (valor) em um mapa
- Valor - elementos associados por chaves em um mapa
Métodos de NavigableMap
O
NavigableMap
é considerado como um tipo de SortedMap
. É porque NavigableMap
estende o SortedMap
interface. Portanto, todos os
SortedMap
métodos também estão disponíveis em NavigableMap
. Para saber como esses métodos são definidos em SortedMap
, visite Java SortedMap. No entanto, alguns dos métodos de
SortedMap
(headMap()
, tailMap()
e subMap()
) são definidos de forma diferente em NavigableMap
. Vamos ver como esses métodos são definidos em
NavigableMap
. headMap(key, booleanValue)
O
headMap()
retorna todas as entradas de um mapa navegável associado a todas essas chaves antes da chave especificada (que é passado como um argumento). O booleanValue é um parâmetro opcional. Seu valor padrão é
false
. Se
true
é passado como um booleanValue , o método retorna todas as entradas associadas a todas essas chaves antes da chave especificada , incluindo a entrada associada à chave especificada . tailMap(key, booleanValue)
O
tailMap()
retorna todas as entradas de um mapa navegável associado a todas essas chaves após a chave especificada (que é passado como um argumento) incluindo a entrada associada à chave especificada . O booleanValue é um parâmetro opcional. Seu valor padrão é
true
. Se
false
é passado como um booleanValue , o método retorna todas as entradas associadas a essas chaves após a chave especificada , sem incluir a entrada associada à chave especificada . submapa(k1, bv1, k2, bv2)
O
subMap()
retorna todas as entradas associadas às chaves entre k1 e k2 incluindo a entrada associada a k1 . O bv1 e bv2 são parâmetros opcionais. O valor padrão de bv1 é true e o valor padrão de bv2 é
false
. Se
false
é passado como bv1 , o método retorna todas as entradas associadas às chaves entre k1 e k2 , sem incluir a entrada associada a k1 . Se
true
é passado como bv2 , o método retorna todas as entradas associadas às chaves entre k1 e k2 , incluindo a entrada associada a k1 . Outros métodos
O
NavigableMap
fornece vários métodos que podem ser usados para localizar as entradas de mapas. - Mapa descendente() - inverter a ordem das entradas em um mapa
- descendenteKeyMap() - inverte a ordem das chaves em um mapa
- tetoEntrada() - retorna uma entrada com a chave mais baixa entre todas as entradas cujas chaves são maiores ou iguais à chave especificada
- tetoKey() - retorna a chave mais baixa entre as chaves que são maiores ou iguais à chave especificada
- pisoEntrada() - retorna uma entrada com a chave mais alta entre todas as entradas cujas chaves são menores ou iguais à chave especificada
- floorKey() - retorna a chave mais alta entre as chaves que são menores ou iguais à chave especificada
- highEntry() - retorna uma entrada com a chave mais baixa entre todas as entradas cujas chaves são maiores que a chave especificada
- maiorKey() - retorna a chave mais baixa entre as chaves que são maiores que a chave especificada
- inferiorEntry() - retorna uma entrada com a chave mais alta entre todas as entradas cujas chaves são menores que a chave especificada
- lowerKey() - retorna a chave mais alta entre as chaves que são menores que a chave especificada
- primeiraEntrada() - retorna a primeira entrada (a entrada com a chave mais baixa) do mapa
- lastEntry() - retorna a última entrada (a entrada com a chave mais alta) do mapa
- pollFirstEntry() - retorna e remove a primeira entrada do mapa
- pollLastEntry() - retorna e remove a última entrada do mapa
Para saber mais, visite Java NavigableMap (documentação oficial do Java).
Implementação do NavigableMap na classe TreeMap
import java.util.NavigableMap;
import java.util.TreeMap;
class Main {
public static void main(String[] args) {
// Creating NavigableMap using TreeMap
NavigableMap<String, Integer> numbers = new TreeMap<>();
// Insert elements to map
numbers.put("Two", 2);
numbers.put("One", 1);
numbers.put("Three", 3);
System.out.println("NavigableMap: " + numbers);
// Access the first entry of the map
System.out.println("First Entry: " + numbers.firstEntry());
// Access the last entry of the map
System.out.println("Last Entry: " + numbers.lastEntry());
// Remove the first entry from the map
System.out.println("Removed First Entry: " + numbers.pollFirstEntry());
// Remove the last entry from the map
System.out.println("Removed Last Entry: " + numbers.pollLastEntry());
}
}
Saída
NavigableMap: {One=1, Three=3, Two=2} First Entry: One=1 Last Entry: Two=2 Removed First Entry: One=1 Removed Last Entry: Two=2
Para saber mais sobre
TreeMap
, visite Java TreeMap. Agora sabemos sobre o
NavigableMap
interface, aprenderemos sobre sua implementação usando o TreeMap
classe em detalhes no próximo tutorial. Java