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 ]]