描述
Java 队列remove() 方法删除列表的第一个元素。将所有后续元素向左移动(从索引中减去 1)。
声明
以下是 java.util.Queue.remove() 的方法声明
public E remove(int index)
参数
无
返回值
此方法返回第一个元素。
异常
NoSuchElementException - 如果列表为空。
示例 1
以下示例显示用法Java 队列的remove() 方法。我们正在创建一个整数队列。我们使用每个元素的 add() 方法调用将几个整数添加到队列对象中。打印队列大小,打印队列并使用remove()方法删除第一个元素。然后再次打印大小和队列。
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(20);
queue.add(15);
queue.add(30);
queue.add(45);
System.out.println("Size of list: " + queue.size());
//让我们再次打印列表中所有可用的元素
System.out.println("Queue = " + queue);
// 删除第一个元素
queue.remove();
System.out.println("Now, Size of list: " + queue.size());
//让我们再次打印列表中所有可用的元素
System.out.println("Queue = " + queue);
}
}
输出
让我们编译并运行上面的程序,这将产生以下结果 -
Size of list: 4
Queue = [20, 15, 30, 45]
Now, Size of list: 3
Queue = [15, 30, 45]
示例 2
下面的示例显示了Java Queue的remove(object)方法的用法。我们正在创建一个字符串队列。我们使用每个元素的 add() 方法调用将几个字符串添加到队列对象中。打印队列大小,打印队列并使用remove(object)方法删除元素。然后再次打印大小和队列。
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");
System.out.println("Size of list: " + queue.size());
//让我们再次打印列表中所有可用的元素
System.out.println("Queue = " + queue);
//删除元素B
queue.remove("B");
System.out.println("Now, Size of list: " + queue.size());
//让我们再次打印列表中所有可用的元素
System.out.println("Queue = " + queue);
}
}
输出
让我们编译并运行上面的程序,这将产生以下结果 -
Size of list: 4
Queue = [A, B, C, D]
Now, Size of list: 3
Queue = [A, C, D]
示例 3
下面的例子展示了Java Queue的remove(index)方法的用法。我们正在创建一个学生对象队列。我们使用每个元素的 add() 方法调用将几个学生添加到队列对象中。打印队列大小,打印队列并使用remove(index)方法删除元素。然后再次打印大小和队列。
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"));
System.out.println("Size of list: " + queue.size());
//让我们再次打印列表中所有可用的元素
System.out.println("Queue = " + queue);
//删除第三个位置的元素
queue.remove(2);
System.out.println("Now, Size of list: " + queue.size());
//让我们再次打印列表中所有可用的元素
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 + " ]";
}
@Override
public boolean equals(Object obj) {
Student s = (Student)obj;
return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
}
}
输出
让我们编译并运行上面的程序,这将产生以下结果 -
Size of list: 3
Queue = [[ 1, Julie ], [ 2, Robert ], [ 3, Adam ]]
Now, Size of list: 2
Queue = [[ 1, Julie ], [ 2, Robert ]]