Java中的ConcurrentLinkedDeque removeFirstOccurrence()方法
java.util.concurrent.ConcurrentLinkedDeque.removeFirstOccurrence() 方法是Java内置方法,接受一个参数并删除双端队列中的第一个出现的该元素。因此,如果双端队列中不存在该元素,则不变。
语法:
public boolean removeFirstOccurrence(Object o)
参数: 该函数接受一个对象 elem 作为参数,该对象表示要从队列中删除其第一次出现的对象。
返回值: 如果 elem 在双端队列中存在,则函数返回 true ,否则返回 false 。
异常: 如果将作为参数传递给函数的指定元素为null,则函数会抛出 NullPointerException 。下面的程序说明了 removeFirstOccurrence() 方法的使用:
程序1:
/* Java程序演示
ConcurrentLinkedDeque的removeFirstOccurrence()方法 */
import java.util.concurrent.*;
class ConcurrentLinkedDeque演示 {
public static void main(String[] args)
{
ConcurrentLinkedDeque<String> cld = new ConcurrentLinkedDeque<String>();
cld.addFirst("GFG");
cld.addFirst("Geeks");
cld.addFirst("Gfg");
cld.addFirst("gfg");
cld.addFirst("Geeks");
// 显示现有的LinkedDeque
System.out.println("LinkedDeque中的元素:" + cld);
// 删除元素的第一次出现
cld.removeFirstOccurrence("Geeks");
// 显示修改后的LinkedDeque
System.out.println("LinkedDeque中的元素:" +cld);
}
}
输出:
LinkedDeque中的元素:[Geeks, gfg, Gfg, Geeks, GFG]
LinkedDeque中的元素:[gfg, Gfg, Geeks, GFG]
程序2:
/* Java程序演示
ConcurrentLinkedDeque的removeFirstOccurrence()方法 */
import java.util.concurrent.*;
class ConcurrentLinkedDeque演示 {
public static void main(String[] args)
{
ConcurrentLinkedDeque<Integer> cld = new ConcurrentLinkedDeque<Integer>();
cld.addFirst(12);
cld.addFirst(280);
cld.addFirst(1008);
cld.addFirst(1050);
cld.addFirst(379);
// 显示现有的LinkedDeque
System.out.println("LinkedDeque中的元素:" +cld);
try {
// 删除元素的第一次出现
cld.removeFirstOccurrence(null);
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出:
LinkedDeque中的元素:[379, 1050, 1008, 280, 12]
java.lang.NullPointerException
参考: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentLinkedDeque.html#removeFirstOccurrence()
极客教程