Java Tutorial

Java Control Statements

Object Oriented Programming

Java Built-in Classes

Java File Handling

Java Error & Exceptions

Java Multithreading

Java Synchronization

Java Networking

Java Collections

Java List Interface

Java Queue Interface

Java Map Interface

Java Set Interface

Java Data Structures

Java Collections Algorithms

Java Miscellaneous

Advanced Java

Java APIs & Frameworks

Java Useful Resources

Java - Queue offer(E) Method



Description

The Java Queue offer(E e) method inserts the specified element into this queue if it is possible to do so immediately without violating capacity restrictions. When using a capacity-restricted queue, this method is generally preferable to add(E), which can fail to insert an element only by throwing an exception.

Declaration

Following is the declaration for java.util.Queue.offer() method

public boolean offer(E e)

Parameters

e − The element to be added at the end.

Return Value

This method returns true if the element was added to this queue, else false.

Exception

ClassCastException − if the class of the specified element prevents it from being added to this queue

NullPointerException − if the specified element is null and this queue does not permit null elements

IllegalArgumentException − if some property of this element prevents it from being added to this queue

Example 1

The following example shows the usage of Java Queue offer(E) method with Integers. We're adding few elements to list using add() method and then using offer() method, we're adding two elements in the end. Lastly we're printing the Queue object to see the final result.

package com.tutorialspoint;

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

public class QueueDemo {
   public static void main(String[] args) {

      // create an empty queue
      Queue<Integer> queue = new LinkedList<>();

      // use add() method to add elements in the queue
      queue.add(1);
      queue.add(2);
      queue.add(3);
      queue.add(4);        
      queue.add(5);
      queue.add(6);

      // the values will be printed in the same order
      queue.offer(7);
      queue.offer(8);

      // let us print all the elements available in queue
      System.out.println("Queue = " + queue);      
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Queue = [1, 2, 3, 4, 5, 6, 7, 8]

Example 2

The following example shows the usage of Java Queue offer(E) method with Strings. We're adding few elements to list using add() method and then using offer() method, we're adding two elements in the end. Lastly we're printing the Queue object to see the final result.

package com.tutorialspoint;

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

public class QueueDemo {
   public static void main(String[] args) {

      // create an empty queue
      Queue<String> queue = new LinkedList<>();

      // use add() method to add elements in the queue
      queue.add("A");
      queue.add("B");
      queue.add("C");
      queue.add("D");        
      queue.add("E");
      queue.add("F");

      // the values will be printed in the same order
      queue.offer("G");
      queue.offer("H");

      // let us print all the elements available in queue
      System.out.println("Queue = " + queue);      
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Queue = [A, B, C, D, E, F, G, H]

Example 3

The following example shows the usage of Java Queue offer(E) method with Student objects. We're adding few elements to list using add() method and then using offer() method, we're adding two elements in the end. Lastly we're printing the Queue object to see the final result.

package com.tutorialspoint;

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

public class QueueDemo {
   public static void main(String[] args) {

      // create an empty queue
      Queue<Student> queue = new LinkedList<>();

      // use add() method to add elements in the queue
      queue.add(new Student(1, "Julie"));
      queue.add(new Student(2, "Robert"));
      queue.add(new Student(3, "Adam"));

      // use offer() method to add element at the end of the queue
      queue.offer(new Student(4, "Rohan"));
      queue.offer(new Student(5, "Sohan"));

      // let us print all the elements available in queue
      System.out.println("Queue = " + queue);      
   }
}

class Student {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
}

Output

Let us compile and run the above program, this will produce the following result −

Queue = [[ 1, Julie ], [ 2, Robert ], [ 3, Adam ], [ 4, Rohan ], [ 5, Sohan ]]
java_util_linkedlist.htm
Advertisements