sábado, 20 de maio de 2017

Queue - peek e poll em filas

Já sabemos que fila implementa o conceito “First-in,
First-out”, ou “Primeiro a entrar, Primeiro a sair”.
Ou seja, o primeiro elemento inserido na lista
é também o primeiro a ser removido.
Isto é básico de fila em qualquer linguagem de programação,
Tomando como exemplo uma fila em sentido literal,
A primeira pessoa a entrar na fila será a primeira a ser atendida,
logo, concerteza também será a primeira a sair da fila.
Em java temos duas classes que representam a interface Queue,
que são a LinkedList e PriorityQueue.

Neste exemplo usaremos a interface Queue,
e iremos  imprimir uma fila,
adicionar e remover um elemento na fila,

utilizando os métodos peek e poll.

Veja abaixo uma imagem do programa em execução:


Veja abaixo o código do programa:


import java.util.Arrays;

import java.util.LinkedList;
import java.util.Queue;

public class PROJETO {

     public static void main ( String [ ] args ) {
         J jht = new J ( );
         //superior, inferior, esquerda, direita, cor de fundo
         jht.Moldura ( 1, 24, 2, 68, 15 );
         jht.title ( " " );
         boolean x = false;
         //Inicializando o Queue
         Queue < String > frutas = new LinkedList < String > ( Arrays.asList (
                   "Figo",
                   "Banana",
                   "Damasco",
                   "Caqui",
                   "Amora" ));
         //////////////////////////////////////////////////////
         //Coord x, Coord y, cor de frente, cor de fundo
         jht.poscolor ( 21, 2, 12, 15 );
         System.out.printf ( "QUEUE - PEEK E POLL EM FILAS" );
         jht.poscolor ( 15, 4, 9, 15 );
         System.out.print ( "Abaixo a impressão dos elementos na fila" );
         jht.poscolor ( 17, 6, 12, 15 );
         System.out.print (  frutas );
         //////////////////////////////////////////////////////
         jht.poscolor ( 12, 8, 9, 15 );
         System.out.print ( "Inserindo um novo elemento na fila" );
         jht.poscolor ( 12, 9, 9, 15 );
         System.out.print ( "Podemos inserir um novo elemento na fila ? => " );
         jht.poscolor ( 58, 9, 12, 15 );
         System.out.print ( x = frutas.add ( "Cajá" ) );
         jht.poscolor ( 12, 11, 9, 15 );
         System.out.print ( "Impressão dos elementos na fila atualizados" );
         jht.poscolor ( 12, 13, 12, 15 );
         System.out.print (  frutas );
         jht.poscolor ( 12, 15, 9, 15 );
         System.out.printf ( "Primeiro elemento inserido na fila ? " );
         jht.poscolor ( 49, 15, 12, 15 );
         System.out.print ( frutas.peek ( ) );
         jht.poscolor ( 12, 17, 9, 15 );
         System.out.print ( "Podemos remover um elemento contido na fila ? => " );
         jht.poscolor ( 58, 17, 12, 15 );
         System.out.print ( x = frutas.poll ( ) != null );          
         jht.poscolor ( 12, 19, 9, 15 );
         System.out.print ( "Elementos na fila novamente atualizados" );
         jht.poscolor ( 12, 21, 12, 15 );
         System.out.print (  frutas );
         //////////////////////////////////////////////////////
        //Parâmetros da função printfx
        //Coord x, Coord y, String, cor de frente, cor de fundo,
        //Comprimento, Tempo, frequência, duração.
         jht.printfx ( 29, 23, "MUITO OBRIGADO", 13, 15, 15, 1800, 0, 0 );
         jht.getche ( );
     }
}

 

 

Nenhum comentário:

Postar um comentário

Observação: somente um membro deste blog pode postar um comentário.