Método ArrayBlockingQueue peek() en Java

ArrayBlockingQueue es una cola de bloqueo limitada que almacena los elementos respaldados internamente por una array. 
 

  • La clase ArrayBlockingQueue es miembro de Java Collections Framework.
  • Acotado significa que tendrá un tamaño fijo, no puede almacenar el número de elementos más que la capacidad de la cola.
  • La cola también sigue la regla FIFO (primero en entrar, primero en salir) para almacenar y eliminar elementos de la cola.
  • Si intenta colocar un elemento en una cola llena o tomar un elemento de una cola vacía, la cola lo bloqueará.

El método peek() se usa para devolver la cabeza de la cola. Recupera, pero no elimina, la cabeza de esta cola. Si la cola está vacía, este método devuelve nulo.
Sintaxis: 
 

public E peek()

Parámetros : El método no toma ningún parámetro.
Valor devuelto: el método devuelve el elemento presente al principio de esta cola.
Los siguientes programas ilustran el método peek() de ArrayBlockingQueue. 
Programa 1: 
 

Java

// Program to demonstrate peek() method of ArrayBlockingQueue
 
import java.util.concurrent.ArrayBlockingQueue;
 
public class GFG {
 
public static void main(String[] args) {
    // Define capacity of ArrayBlockingQueue
    int capacity = 5;
     
    // Create object of ArrayBlockingQueue
    ArrayBlockingQueue<Integer> queue =
         new ArrayBlockingQueue<Integer>(capacity);
     
    // Add element to ArrayBlockingQueue
    queue.add(23);
    queue.add(32);
    queue.add(45);
    queue.add(12);
     
    // Print queue after adding numbers
    System.out.println("After adding numbers queue is ");
    System.out.println(queue);
 
    // Print head of queue using peek() method
    System.out.println("Head of queue "+queue.peek());
     
}
}
Producción: 

After adding numbers queue is 
[23, 32, 45, 12]
Head of queue 23

 

Programa 2:

Java

// Program to demonstrate contains(Object o) method of ArrayBlockingQueue
 
import java.util.concurrent.ArrayBlockingQueue;
 
public class GFG {
     
    // Create a User Object with name and age as the attribute
    public class User{
         
        public String name;
        public String age;
        User(String name,String age){
            this.name=name;
            this.age=age;
        }
         
    }
     
    // Main Method
    public static void main(String[] args) {
        GFG gfg=new GFG();
        gfg.offerExample();
         
    }
     
    // Method to give example of contains function
    public void offerExample() {
         
        // Define capacity of ArrayBlockingQueue
            int capacity = 5;
             
            // Create object of ArrayBlockingQueue
            ArrayBlockingQueue<User> queue =
                new ArrayBlockingQueue<User>(capacity);
             
            // Create user objects
            User user1=new User("Aman","24");
            User user2=new User("Amar","23");
            User user3=new User("Sanjeet","25");
            User user4=new User("Suvo","26");
            User user5=new User("Ravi","22");
             
            // Add Objects to ArrayBlockingQueue
            queue.offer(user1);
            queue.offer(user2);
            queue.offer(user3);
            queue.offer(user4);
            queue.offer(user5);
             
            // Find peek of queue
           User head=queue.peek();
           
            // Print head
            System.out.println("Details of First User Inserted");
            System.out.println("User Name : "+head.name);
            System.out.println("User Age : "+head.age);
    }
}
Producción: 

Details of First User Inserted
User Name : Aman
User Age : 24

 

Referencia: https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ArrayBlockingQueue.html#peek()

Publicación traducida automáticamente

Artículo escrito por AmanSingh2210 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *