描述
如果可以在不违反容量限制的情况下立即插入指定的元素,Java Queue offer(E E)方法会将指定的元素插入到该队列中。当使用容量受限的队列时,此方法通常比add(E)更可取,后者可能仅通过抛出异常而无法插入元素。
声明
以下是java.util.Queue.offer() 方法的声明
public boolean offer(E e)
参数
e - 要添加的元素
返回值
如果元素已添加到此队列,则此方法返回true,否则返回false。
异常
ClassCastException - 如果指定元素的类阻止将其添加到此队列
NullPointerException - 如果指定元素为 null 并且此队列不允许 null 元素
IllegalArgumentException - 如果此元素的某些属性阻止将其添加到此队列
示例 1
以下示例展示了 Java Queue Offer(E) 方法与整数的用法。我们使用 add() 方法向列表添加一些元素,然后使用 Offer() 方法,最后添加两个元素。最后我们打印 Queue 对象来查看最终结果。
package com.yxjc123;
import java.util.LinkedList;
import java.util.Queue;
public class QueueDemo {
public static void main(String[] args) {
//创建一个空队列
Queue<Integer> queue = new LinkedList<>();
//使用add()方法向队列添加元素
queue.add(1);
queue.add(2);
queue.add(3);
queue.add(4);
queue.add(5);
queue.add(6);
// 值将以相同的顺序打印
queue.offer(7);
queue.offer(8);
//让我们打印队列中所有可用的元素
System.out.println("Queue = " + queue);
}
}
输出
让我们编译并运行上面的程序,这将产生以下结果
Queue = [1, 2, 3, 4, 5, 6, 7, 8]
示例 2
以下示例显示 Java 队列 Offer(E) 方法与字符串的用法。我们使用 add() 方法向列表添加一些元素,然后使用 Offer() 方法,最后添加两个元素。最后我们打印 Queue 对象来查看最终结果。
package com.yxjc123;
import java.util.LinkedList;
import java.util.Queue;
public class QueueDemo {
public static void main(String[] args) {
//创建一个空队列
Queue<String> queue = new LinkedList<>();
//使用add()方法向队列添加元素
queue.add("A");
queue.add("B");
queue.add("C");
queue.add("D");
queue.add("E");
queue.add("F");
// 值将以相同的顺序打印
queue.offer("G");
queue.offer("H");
//让我们打印队列中所有可用的元素
System.out.println("Queue = " + queue);
}
}
输出
让我们编译并运行上面的程序,这将产生以下结果
Queue = [A, B, C, D, E, F, G, H]
示例 3
以下示例展示了 Java Queue Offer(E) 方法与 Student 对象的用法。我们使用 add() 方法向列表添加一些元素,然后使用 Offer() 方法,最后添加两个元素。最后我们打印 Queue 对象来查看最终结果。
package com.yxjc123;
import java.util.LinkedList;
import java.util.Queue;
public class QueueDemo {
public static void main(String[] args) {
//创建一个空队列
Queue<Student> queue = new LinkedList<>();
//使用add()方法向队列添加元素
queue.add(new Student(1, "Julie"));
queue.add(new Student(2, "Robert"));
queue.add(new Student(3, "Adam"));
//使用offer()方法在队列末尾添加元素
queue.offer(new Student(4, "Rohan"));
queue.offer(new Student(5, "Sohan"));
//让我们打印队列中所有可用的元素
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 + " ]";
}
}
输出
让我们编译并运行上面的程序,这将产生以下结果
Queue = [[ 1, Julie ], [ 2, Robert ], [ 3, Adam ], [ 4, Rohan ], [ 5, Sohan ]]