Java.util.PriorityQueue 类

java.util.PriorityQueue.remove() 方法用于从此队列中删除指定元素的单个实例,如果存在的话。每次删除元素都会导致队列大小减一,除非队列为空。当且仅当此队列包含指定元素时,该方法返回 true。

语法

public boolean remove(Object obj)

参数

obj 指定需要从此队列中删除的元素(如果存在)。

返回值

如果此队列因调用而更改,则返回 true。

异常

不适用。

示例:

在在下面的示例中,java.util.PriorityQueue.remove() 方法用于从给定队列中删除指定元素的单个实例。

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //创建优先级队列
    PriorityQueue<Integer> PQueue = new PriorityQueue<Integer>();

    //填充优先级队列
    PQueue.add(10);
    PQueue.add(20);
    PQueue.add(30);
    PQueue.add(40);
    PQueue.add(30);
    
    //打印优先级队列
    System.out.println("PQueue contains: " + PQueue);

    //从队列中删除30个实例
    PQueue.remove(30);

    //打印优先级队列
    System.out.println("PQueue contains: " + PQueue);
  }
}

上述代码的输出将是:

PQueue contains: [10, 20, 30, 40, 30]
PQueue contains: [10, 20, 30, 40]