Interface Java NavigableMap

Neste tutorial, aprenderemos sobre a interface Java NavigableMap e seus métodos com a ajuda de um exemplo.

A NavigableMapinterface da estrutura de coleções Java fornece os recursos para navegar entre as entradas do mapa.

É considerado um tipo de SortedMap.

Classe que implementa NavigableMap

Por NavigableMapser uma interface, não podemos criar objetos a partir dela.

Para usar as funcionalidades da NavigableMapinterface, precisamos usar a TreeMapclasse que implementa NavigableMap.

Como usar o NavigableMap?

Em Java, devemos importar o java.util.NavigableMappacote a ser usado NavigableMap. Depois de importar o pacote, veja como podemos criar um mapa navegável.

 // NavigableMap implementation by TreeMap class NavigableMap numbers = new TreeMap(); 

No código acima, criamos um mapa navegável denominado números da TreeMapclasse.

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 um tipo de SortedMap. É porque NavigableMapestende a SortedMapinterface.

Portanto, todos os SortedMapmé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 definidas de forma diferente em NavigableMap.

Vamos ver como esses métodos são definidos em NavigableMap.

headMap (chave, booleanValue)

O headMap()método retorna todas as entradas de um mapa navegável associado a todas essas chaves antes da chave especificada (que é passada como um argumento).

O booleanValue é um parâmetro opcional. Seu valor padrão é false.

Se truefor passado como um valor booleano, o método retorna todas as entradas associadas a todas essas chaves antes da chave especificada, incluindo a entrada associada à chave especificada.

tailMap (chave, booleanValue)

O tailMap()método retorna todas as entradas de um mapa navegável associado a todas essas chaves após a chave especificada (que é passada como um argumento) incluindo a entrada associada à chave especificada.

O booleanValue é um parâmetro opcional. Seu valor padrão é true.

Se falsefor passado como um valor booleano, 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()método 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 é verdadeiro e o valor padrão de bv2 é false.

Se falsefor 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 truefor 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 NavigableMapfornece vários métodos que podem ser usados ​​para localizar as entradas de mapas.

  • descendingMap () - inverte a ordem das entradas em um mapa
  • descendingKeyMap () - inverte a ordem das chaves em um mapa
  • tetoEntry () - 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
  • floorEntry () - 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
  • higherEntry () - retorna uma entrada com a chave mais baixa entre todas as entradas cujas chaves são maiores que a chave especificada
  • higherKey () - retorna a chave mais baixa entre as chaves que são maiores que a chave especificada
  • lowerEntry () - retorna uma entrada com a chave mais alta entre todas aquelas 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
  • firstEntry () - 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 de 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 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()); ) ) 

Resultado

 NavigableMap: (One = 1, Three = 3, Two = 2) Primeira entrada: Um = 1 Última entrada: Dois = 2 Removido Primeira entrada: Um = 1 Removido Última entrada: Dois = 2 

Para saber mais sobre TreeMap, visite Java TreeMap.

Agora que sabemos sobre a NavigableMapinterface, aprenderemos sobre sua implementação usando a TreeMapclasse em detalhes no próximo tutorial.

Artigos interessantes...