English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, vamos aprender o interface Java NavigableMap e seus métodos por meio de um exemplo.
O interface NavigableMap do Java Collection Framework fornece funcionalidades de navegação entre entradas de mapeamento.
Ele é consideradoSortedMapum tipo.
Como NavigableMap é um interface, não podemos criar objetos a partir dele.
Para usar as funcionalidades do interface NavigableMap, precisamos usar a classe TreeMap que implementa NavigableMap.
No Java, precisamos importar o pacote java.util.NavigableMap para usar NavigableMap. Após a importação do pacote, criaremos NavigableMap conforme a seguinte maneira.
// NavigableMap é implementado pela classe TreeMap. NavigableMap<Key, Value> numbers = new TreeMap<>();
No código acima, criamos um mapeamento navegável chamado numbers da classe TreeMap.
Aqui,
Key - Identificador único usado para associar cada elemento (valor) no mapeamento
Value - Elementos associados às chaves no mapa
NavigableMap é considerado um tipo de SortedMap. Isso porque NavigableMap herda a interface SortedMap.
Portanto, também é possível usar todos os métodos do SortedMap no NavigableMap. Para entender como definir esses métodos no SortedMap, acesseJava SortedMap.
No entanto, no NavigableMap, alguns métodos do SortedMap (headMap(), tailMap() e subMap()) têm definições diferentes.
Vamos ver como definir esses métodos NavigableMap
O método headMap() retorna todos os itens associados às chaves antes da chave especificada (key), passada como parâmetro, todos os itens associados às chaves anteriores.
booleanValue é um parâmetro opcional. O valor padrão é false.
Se booleanValue for true, o método retornará todos os itens associados às chaves antes da chave especificada (key), incluindo os itens associados à chave especificada (key).
O método tailMap() retorna todos os itens associados às chaves após a chave especificada (key), passada como parâmetro, todos os itens associados às chaves posteriores, incluindo os itens associados à chave especificada (key).
booleanValue é um parâmetro opcional. O valor padrão é true.
Se booleanValue for false, o método retornará todos os itens associados às chaves após a chave especificada (key), exceto os itens associados à chave especificada (key).
o método subMap() retorna com k1e k2Todos os itens associados às chaves, incluindo aqueles associados a k1itens relacionados.
bv1e bv2é um parâmetro opcional. bv1o valor padrão é true, bv2o valor padrão é false.
se bv1retorna com k1e k2Todos os itens associados às chaves, exceto aqueles associados a k1Entrada associada.
se bv2se bv for true, então este método retorna as entradas associadas com k1e k2Todas as entradas entre as chaves, incluindo aquelas associadas com k1Entrada associada.
NavigableMap fornece várias métodos úteis para localizar entradas no mapeamento.
DescendingMap() - Inverter a ordem das entradas no map
DescendingKeyMap() - Inverter a ordem das chaves no map
ceilingEntry() - Retornar a entrada com a chave mínima de todas as entradas cujas chaves são maiores ou iguais à chave especificada
ceilingKey() - Retornar a chave mínima das chaves que são maiores ou iguais à chave especificada
floorEntry() - Retornar a entrada com a chave máxima de todas as entradas cujas chaves são menores ou iguais à chave especificada
floorKey() - Retornar a chave máxima das chaves que são menores ou iguais à chave especificada
HigherEntry() - Retornar a entrada com a chave mínima de todas as entradas cujas chaves são maiores que a chave especificada
HigherKey() - Retornar a chave mínima das chaves que são maiores que a chave especificada
lowerEntry() - Retornar a entrada com a chave máxima de todas as entradas cujas chaves são menores que a chave especificada
lowerKey() - Retornar a chave máxima das chaves que são menores que a chave especificada
firstEntry() - Retornar a primeira entrada do map (a entrada com a chave mínima)
lastEntry() - Retornar a última entrada do map (a entrada com a chave máxima)
pollFirstEntry() - Retornar e excluir a primeira entrada do map
pollLastEntry() - Retornar e excluir a última entrada do map
import java.util.NavigableMap; import java.util.TreeMap; class Main { public static void main(String[] args) { //Usar TreeMap para criar NavigableMap NavigableMap<String, Integer> numbers = new TreeMap<>(); //Inserir elementos no map numbers.put("Two", 2); numbers.put("One", 1); numbers.put("Three", 3); System.out.println("NavigableMap: " ); + numbers); //Acessar o primeiro item do mapeamento System.out.println("Primeiro item: " ); + numbers.firstEntry()); //Acessar o último item do mapa System.out.println("Último item: " + numbers.lastEntry()); //Remover o primeiro item do mapeamento System.out.println("Remover o primeiro item: " + numbers.pollFirstEntry()); //Remover o último item do mapa System.out.println("Remover o último item: " + numbers.pollLastEntry()); } }
Resultados de Saída
NavigableMap: {One=1, Three=3, Two=2} Primeiro item: One=1 Último item: Two=2 Remover o primeiro item: One=1 Remover o último item: Two=2
Para obter mais informações sobre TreeMap, acesseJava TreeMap.
Agora que conhecemos o interface NavigableMap, usaremos a classe TreeMap no próximo tutorial para entender sua implementação.