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 a Interface Queue do Java: Métodos, Implementações e Uso Prático

Dominando a Interface Queue do Java

Descubra como a interface Queue do Java potencializa estruturas de dados FIFO, seus métodos principais e as classes de implementação mais comuns.

Classes que Implementam Queue

Como Queue é uma interface, você trabalhará com classes concretas que fornecem a funcionalidade real. As três implementações mais amplamente usadas são:

Subinterfaces que Estendem Queue

A interface Queue é estendida por várias subinterfaces que adicionam capacidades de bloqueio ou de duas pontas:

Estrutura de Dados Queue em Ação

As filas operam no princípio First-In, First-Out (FIFO) (Primeiro a Entrar, Primeiro a Sair): elementos são adicionados ao final e removidos do início.

Como Usar Queue no Java

Importe a interface com java.util.Queue e instancie via uma classe concreta:

import java.util.Queue;
import java.util.LinkedList;
import java.util.ArrayDeque;
import java.util.PriorityQueue;
Queue<String> animal1 = new LinkedList<>();
Queue<String> animal2 = new ArrayDeque<>();
Queue<String> animal3 = new PriorityQueue<>();

Cada objeto herda o conjunto completo de métodos Queue e a API genérica Collection.

Métodos Principais da Queue

A interface estende Collection, então inclui todos os seus métodos. As operações específicas de fila mais usadas são:

Exemplo de Implementação com LinkedList

import java.util.Queue;
import java.util.LinkedList;
public class Main {
    public static void main(String[] args) {
        Queue<Integer> numeros = new LinkedList<>();
        numeros.offer(1);
        numeros.offer(2);
        numeros.offer(3);
        System.out.println("Queue: " + numeros);
        int acessado = numeros.peek();
        System.out.println("Elemento Acessado: " + acessado);
        int removido = numeros.poll();
        System.out.println("Elemento Removido: " + removido);
        System.out.println("Queue Atualizada: " + numeros);
    }
}

Saída

Queue: [1, 2, 3] Elemento Acessado: 1 Elemento Removido: 1 Queue Atualizada: [2, 3]

Para insights mais profundos, veja Java LinkedList.

Exemplo de Implementação com PriorityQueue

import java.util.Queue;
import java.util.PriorityQueue;
public class Main {
    public static void main(String[] args) {
        Queue<Integer> numeros = new PriorityQueue<>();
        numeros.offer(5);
        numeros.offer(1);
        numeros.offer(2);
        System.out.println("Queue: " + numeros);
        int acessado = numeros.peek();
        System.out.println("Elemento Acessado: " + acessado);
        int removido = numeros.poll();
        System.out.println("Elemento Removido: " + removido);
        System.out.println("Queue Atualizada: " + numeros);
    }
}

Saída

Queue: [1, 5, 2] Elemento Acessado: 1 Elemento Removido: 1 Queue Atualizada: [2, 5]

Para insights mais profundos, veja Java PriorityQueue.

Fique atento para nossos próximos tutoriais que explorarão as subinterfaces da Queue — Deque, BlockingQueue e BlockingDeque — e como usá-las em cenários do mundo real.

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 a Palavra-chave super em Java: Uso Avançado e Exemplos Práticos
  4. Dominando Interfaces em Java: Conceitos, Implementação e Boas Práticas
  5. Dominando Try-With-Resources em Java: Gerenciamento Automático de Recursos Explicado
  6. Anotações em Java Explicadas: Tipos, Posicionamento e Exemplos Práticos
  7. Dominando a Interface NavigableSet do Java: Navegação, Ordenação e Exemplos Práticos
  8. Dominando Expressões Lambda em Java: Do Básico à Stream API
  9. Entendendo Interfaces em Java: Definições, Usos e Boas Práticas
  10. Java 9 Métodos Privados em Interfaces: Aumentando Encapsulamento e Reuso de Código