Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Dominando Java NavigableMap: Recursos, Métodos e Implementação TreeMap

Interface NavigableMap do Java

Este tutorial explica a interface NavigableMap do Java, seus métodos principais e como usá-la com TreeMap.

A interface NavigableMap do framework de coleções do Java fornece capacidades de navegação através de entradas de mapa. É um SortedMap especializado, estendendo sua funcionalidade com métodos que permitem travessia bidirecional eficiente.

Classe que Implementa NavigableMap

Como NavigableMap é uma interface, você não pode instanciá-la diretamente. A implementação primária é a classe TreeMap, que oferece uma estrutura de árvore de busca binária auto-balanceada que mantém chaves em ordem classificada.

Como Usar NavigableMap

Primeiro, importe a interface:

import java.util.NavigableMap;
import java.util.TreeMap;

Então crie uma instância:

// Implementação NavigableMap pela classe TreeMap
NavigableMap<Chave, Valor> numeros = new TreeMap<>();

No código acima, numeros é um TreeMap que armazena pares chave-valor. Chave é o identificador único, e Valor são os dados associados.

Métodos Principais do NavigableMap

Todas as operações de SortedMap estão disponíveis, mas várias são sobrescritas para fornecer controle mais apertado. Métodos principais incluem:

headMap(chave, booleanoInclusivo)

Retorna uma visão da porção do mapa cujas chaves são estritamente menores que chave quando booleanoInclusivo é false (padrão). Se booleanoInclusivo for true, o mapa retornado inclui a entrada para chave.

tailMap(chave, booleanoInclusivo)

Retorna uma visão da porção do mapa cujas chaves são maiores ou iguais a chave quando booleanoInclusivo é true (padrão). Passar false exclui a entrada chave.

subMap(deChave, deInclusivo, ateChave, ateInclusivo)

Fornece uma visão entre deChave e ateChave. Os padrões são deInclusivo = true e ateInclusivo = false. Ajustar essas flags controla se as chaves de fronteira fazem parte do mapa resultante.

Métodos Adicionais de Navegação

Para a especificação oficial, veja a documentação Java NavigableMap.

Exemplo de Implementação TreeMap

import java.util.NavigableMap;
import java.util.TreeMap;
class Main {
    public static void main(String[] args) {
        // Criando NavigableMap usando TreeMap
        NavigableMap<String, Integer> numeros = new TreeMap<>();
        // Inserir elementos no mapa
        numeros.put("Dois", 2);
        numeros.put("Um", 1);
        numeros.put("Três", 3);
        System.out.println("NavigableMap: " + numeros);
        // Acessar a primeira entrada do mapa
        System.out.println("Primeira Entrada: " + numeros.firstEntry());
        // Acessar a última entrada do mapa
        System.out.println("Última Entrada: " + numeros.lastEntry());
        // Remover a primeira entrada do mapa
        System.out.println("Primeira Entrada Removida: " + numeros.pollFirstEntry());
        // Remover a última entrada do mapa
        System.out.println("Última Entrada Removida: " + numeros.pollLastEntry());
    }
}

Saída

NavigableMap: {Um=1, Três=3, Dois=2} Primeira Entrada: Um=1 Última Entrada: Dois=2 Primeira Entrada Removida: Um=1 Última Entrada Removida: Dois=2

Saiba mais sobre TreeMap na documentação Java TreeMap.


Com um sólido entendimento da interface NavigableMap e sua implementação TreeMap, você pode construir estruturas de dados eficientes e ordenadas para suas aplicações Java.

Java

  1. Dominando Interfaces em C#: Definição, Implementação e Casos Práticos
  2. Dominando Operadores Java: Tipos, Sintaxe e Exemplos Práticos
  3. Dominando Interfaces em Java: Conceitos, Implementação e Boas Práticas
  4. Dominando Try-With-Resources em Java: Gerenciamento Automático de Recursos Explicado
  5. Dominando a Interface NavigableSet do Java: Navegação, Ordenação e Exemplos Práticos
  6. Dominando Expressões Lambda em Java: Do Básico à Stream API
  7. Interface vs Classe Abstrata em Java: Como Escolher a Abstração Certa
  8. Entendendo Interfaces em Java: Definições, Usos e Boas Práticas
  9. Java 9 Métodos Privados em Interfaces: Aumentando Encapsulamento e Reuso de Código
  10. Dominando Logging em Java: Práticas Essenciais para Código Confiável