Java.util.LinkedList.poll(),pollFirst(),pollLast()在Java中的示例
Java的LinkedList类提供了一个允许“ 基于队列 ”工作的函数,称为poll()。此函数不仅返回删除的第一个元素,而且在删除时还会显示它们,因此在日常问题和竞争编程中具有很多用途。有 3 种poll()的变体,本文将讨论所有三种。
1. poll() :此方法 检索 并 删除 该列表的 头(第一个元素) 。
声明:
public E poll()
返回值:
此方法返回此列表的第一个元素;如果此列表为空,则返回null。
//演示 poll() 在链表中的处理方式的 Java 代码
import java.util.*;
public class LinkedListPoll {
public static void main(String[] args)
{
// 声明 LinkedList
LinkedList list = new LinkedList();
// 添加元素
list.add("Geeks");
list.add(4);
list.add("Geeks");
list.add(8);
// 打印列表
System.out.println("初始链表是:" + list);
// 使用 poll() 检索和移除头
// 移除和显示 "Geeks"
System.out.println("链表的头元素是:" + list.poll());
// 打印结果列表
System.out.println("使用 poll() 删除之后的链表是:" + list);
}
}
输出:
初始链表是:[Geeks, 4, Geeks, 8]
链表头的元素是:Geeks
使用 poll() 删除之后的链表是:[4, Geeks, 8]
2. pollFirst(): 此方法 检索 并 删除 该列表的 第一个元素 ,如果此列表为空,则返回null。
声明:
public E pollFirst()
返回值:
此方法返回此列表的第一个元素;如果此列表为空,则返回null。
//演示 pollFirst() 在链表中的处理方式的 Java 代码
import java.util.*;
public class LinkedListPollFirst {
public static void main(String[] args)
{
// 声明 LinkedList
LinkedList list = new LinkedList();
// 添加元素
list.add("Geeks");
list.add(4);
list.add("Geeks");
list.add(8);
// 打印列表
System.out.println("初始链表是:" + list);
// 使用 pollFirst() 检索和移除头
// 移除和显示 "Geeks"
System.out.println("链表头的元素是:" + list.pollFirst());
// 打印结果列表
System.out.println("使用 pollFirst() 删除之后的链表是:" + list);
}
}
输出:
初始链表是:[Geeks, 4, Geeks, 8]
链表头的元素是:Geeks
使用 pollFirst() 删除之后的链表是:[4, Geeks, 8]
3. pollLast(): 此方法 检索 并 删除 该列表的 最后一个元素 ,如果此列表为空,则返回null。
声明:
public E pollLast()
返回值:
此方法返回此列表的最后一个元素;如果此列表为空,则返回null。
// Java代码演示了链表中的pollLast()方法的工作原理
import java.util.*;
public class LinkedListPollLast {
public static void main(String[] args)
{
// 声明一个LinkedList对象
LinkedList list = new LinkedList();
// 添加元素
list.add("Geeks");
list.add(4);
list.add("Geeks");
list.add(8);
// 打印链表
System.out.println("初始Linked List为: " + list);
// 使用pollLast()方法检索并删除尾部元素
// 删除并展示8
System.out.println("链表尾部元素为: " + list.pollLast());
// 打印结果链表
System.out.println("使用pollLast()方法删除元素后的Linked List为: " + list);
}
}
输出 :
初始Linked List为: [Geeks, 4, Geeks, 8]
链表尾部元素为: 8
使用pollLast()方法删除元素后的Linked List为: [Geeks, 4, Geeks]
实际应用: 这个方法在 “队列管理” 系统中有潜在的应用,也可以在 “第一轮淘汰” 游戏中使用。下面将讨论前者的示例。
// Java代码演示了链表中poll()方法的实际应用。
import java.util.*;
public class LinkedListPollApp {
public static void main(String[] args)
{
// 声明一个LinkedList对象
LinkedList list = new LinkedList();
// 按顺序添加队列条目
list.add("Astha");
list.add("Shambhavi");
list.add("Nikhil");
list.add("Manjeet");
// 打印链表
System.out.println("初始队列为: " + list);
System.out.print("出队顺序为: ");
while (!list.isEmpty()) {
// 使用poll()方法显示从队列退出的顺序
System.out.print(list.poll() + " <-- ");
}
}
}
输出 :
初始队列为: [Astha, Shambhavi, Nikhil, Manjeet]
出队顺序为: Astha <-- Shambhavi <-- Nikhil <-- Manjeet <--