Java Queue接口

描述

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