Java.util.LinkedList.peek(),peekfirst(),peeklast()在Java中的应用
链表类提供了查看列表中第一个和最后一个元素的功能,在只需要检索而不一定需要删除的情况下可能非常有用。本文讨论了三个功能。
1. peek(): 此方法检索(但不删除)此列表的头部(第一个元素)。
声明:
public E peek()
返回值:
如果此列表为空,则此方法返回此列表的头部,否则返回null。
//Java代码演示LinkedList中peek()的工作
//导入java.util.*
import java.util.*;
public class LinkedPeek1 {
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);
//查看列表的头部
//输出第1个元素"Geeks"
System.out.println("列表头部为:" + list.peek());
}
}
输出:
初始列表为:[Geeks, 4, Geeks, 8]
列表头部为:Geeks
2. peekFirst(): 此方法检索(但不删除)此列表的第一个元素,如果此列表为空,则返回null。这类似于peek()。
声明:
public E peekFirst()
返回值:
如果此列表为空,则此方法返回此列表的第一个元素,否则返回null。
//Java代码演示LinkedList中peekFirst()的工作
//导入java.util.*
import java.util.*;
public class LinkedPeek2 {
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);
//查看列表的第一个元素
//输出第1个元素"Geeks"
System.out.println("列表的第一个元素为:" + list.peekFirst());
}
}
输出:
初始列表为:[Geeks, 4, Geeks, 8]
列表的第一个元素为:Geeks
3. peekLast(): 此方法检索(但不删除)此列表的最后一个元素,如果此列表为空,则返回null。
声明:
public E peekLast()
返回值:
如果此列表为空,则此方法返回此列表的最后一个元素,否则返回null。
// Java代码演示peekLast()在LinkedList中的工作原理
import java.util.*;
public class LinkedPeek3 {
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);
// 查看列表的最后一个元素
// 输出最后一个元素, 8
System.out.println("列表的最后一个元素是 :" + list.peekLast());
}
}
输出:
初始列表为 :[Geeks, 4, Geeks, 8]
列表的最后一个元素是 : 8
实际应用 : 可以考虑的实际应用是,在可能涉及纸牌游戏时,个人可以查看卡组的第一个或最后一个元素,以此来做出决策。下面的代码解释了这种应用。
// Java代码演示peek()的应用
import java.util.*;
public class LinkedPeekApp {
public static void main(String[] args)
{
// 声明一个LinkedList
LinkedList list = new LinkedList();
// 在卡牌中添加元素
list.add(5);
list.add(4);
list.add("Jack");
list.add(8);
list.add("King");
// 打印列表
System.out.println("初始卡组为 :" + list);
String d = "upper";
System.out.println("选定的元素是 : " + d);
if (d == "upper")
System.out.println("上面的元素是 : " + list.peekFirst());
else
System.out.println("下面的元素是 : " + list.peekLast());
}
}
输出 :
初始卡组为 :[5, 4, Jack, 8, King]
选定的元素是 : upper
上面的元素是 : 5