Java ConcurrentLinkedDeque removeFirstOccurrence()方法
java.util.concurrent.ConcurrentLinkedDeque.removeFirstOccurrence() 方法是Java中的一个内置方法,它接受一个参数并删除该元素在deque中的第一次出现。因此,如果该元素在deque中不存在,它将保持不变。
语法
public boolean removeFirstOccurrence(Object o)
参数: 该函数接受一个对象 elem 作为参数,表示要从deque中删除其第一次出现的对象。
返回值: 如果 elem 在deque中存在,该函数返回true,否则返回false。
异常: 如果作为参数传递给该函数的指定元素为null,则该函数抛出NullPointerException 。下面的程序说明了 removeFirstOccurrence() 方法的使用:
程序1 :
/* Java program to demonstrate
removeFirstOccurrence() method
of ConcurrentLinkedDeque */
import java.util.concurrent.*;
class ConcurrentLinkedDequeDemo {
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");
// Displaying the existing LinkedDeque
System.out.println("Elements in "
+ "the LinkedDeque: " + cld);
// Remove first occurrence of element
cld.removeFirstOccurrence("Geeks");
// Displaying the modified LinkedDeque
System.out.println("Elements in "
+ "the LinkedDeque: " + cld);
}
}
输出
Elements in the LinkedDeque: [Geeks, gfg, Gfg, Geeks, GFG]
Elements in the LinkedDeque: [gfg, Gfg, Geeks, GFG]
代码2
/* Java program to demonstrate
removeFirstOccurrence() method
of ConcurrentLinkedDeque */
import java.util.concurrent.*;
class ConcurrentLinkedDequeDemo {
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);
// Displaying the existing LinkedDeque
System.out.println("Elements in "
+ "the LinkedDeque: " + cld);
try {
// Remove first occurrence of element
cld.removeFirstOccurrence(null);
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出
Elements in the LinkedDeque: [379, 1050, 1008, 280, 12]
java.lang.NullPointerException
参考资料: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentLinkedDeque.html#removeFirstOccurrence()
极客教程