Java Java.util.LinkedList.get(), getFirst(), getLast()方法及示例
在Java中,LinkedList类提供了几种方法来访问列表中的元素。以下是获取LinkedList元素的方法:
- get(int index):该方法返回LinkedList中指定位置的元素。索引参数是基于零的,因此第一个元素的索引为0。
- getFirst():该方法返回LinkedList中的第一个元素。如果LinkedList为空,则抛出NoSuchElementException。
- getLast():该方法返回LinkedList中的最后一个元素。如果LinkedList为空,则抛出NoSuchElementException
以下是演示使用这些方法的示例代码:
// Java code to demonstrate the working
// of get(int index) in linked list
import java.util.*;
public class LinkedListget1 {
public static void main(String[] args)
{
// declaring a LinkedList
LinkedList<String> list = new LinkedList<String>();
// adding elements using add()
list.add("Geeks");
list.add("4");
list.add("Geeks");
list.add("8");
// printing the whole list
System.out.println("The elements in List are : "
+ list);
// using get() to print element at index 3
// prints 8
System.out.println("Element at index 3 is : "
+ list.get(3));
}
}
输出
The element at index 2 is: Charlie
The first element of the LinkedList is: Alice
The last element of the LinkedList is: Dave
在这段代码中,我们首先创建了一个字符串类型的LinkedList,然后使用add()方法向其中添加了四个元素。
然后我们使用get(int index)方法获取索引为2的元素(即“Charlie”),并使用println()方法将其输出到控制台上。
接下来,我们使用getFirst()方法获取LinkedList的第一个元素(即“Alice”),并使用println()方法将其输出到控制台上。
最后,我们使用getLast()方法获取LinkedList的最后一个元素(即“Dave”),并使用println()方法将其输出到控制台上。
允许传统方法 获取特定索引处的元素 是get()。虽然在LinkedList中不可能在不完全遍历的情况下实现此目标,但此方法允许这样做。本文讨论了全部三个变体以及示例。
1. get(int index) : 该方法返回列表中 指定位置 的元素。
Declaration :
public E get(int index)
参数 :
index : 返回元素的索引
Return Value :
该方法返回列表中指定位置的元素
异常
IndexOutOfBoundsException : 如果索引超出范围
// Java代码演示链表中getFirst()的工作原理
import java.util.*;
public class LinkedListget2 {
public static void main(String[] args)
{
// 声明一个LinkedList
LinkedList<String> list = new LinkedList<String>();
// 使用add()方法添加元素
list.add("Geeks");
list.add("4");
list.add("Geeks");
list.add("8");
// 打印整个列表
System.out.println("List中的元素为:"
+ list);
// 使用get()打印第一个索引处的元素
// 输出 "Geeks"
System.out.println("第1个索引处的元素为:"
+ list.getFirst());
}
}
输出
List中的元素为:[Geeks, 4, Geeks, 8]
第1个索引处的元素为:Geeks
2. getFirst(): 该方法返回此列表中的 第一个 元素。
声明:
public E getFirst()
返回值:
该方法返回此列表中的第一个元素。
异常:
NoSuchElementException: 如果此列表为空
// Java代码演示链表中getFirst()的工作原理
import java.util.*;
public class LinkedListget2 {
public static void main(String[] args)
{
// 声明一个LinkedList
LinkedList<String> list = new LinkedList<String>();
// 使用add()方法添加元素
list.add("Geeks");
list.add("4");
list.add("Geeks");
list.add("8");
// 打印整个列表
System.out.println("List中的元素为:"
+ list);
// 使用get()打印第一个索引处的元素
// 输出 "Geeks"
System.out.println("第1个索引处的元素为:"
+ list.getFirst());
}
}
输出 :
List中的元素为:[Geeks, 4, Geeks, 8]
第1个索引处的元素为:Geeks
3. getLast(): 该方法返回此列表中的 最后一个 元素。
声明:
public E getLast()
返回值:
该方法返回此列表中的最后一个元素。
异常:
NoSuchElementException: 如果此列表为空
// Java代码演示链表中getLast()的工作原理
import java.util.*;
public class LinkedListget3 {
public static void main(String[] args)
{
// 声明一个LinkedList
LinkedList<String> list = new LinkedList<String>();
// 使用add()方法添加元素
list.add("Geeks");
list.add("4");
list.add("Geeks");
list.add("8");
// 打印整个列表
System.out.println("List中的元素为:"
+ list);
// 使用get()打印最后一个索引处的元素
// 输出 "8"
System.out.println("最后一个索引处的元素为:"
+ list.getLast());
}
}
输出:
List中的元素为:[Geeks, 4, Geeks, 8]
最后一个索引处的元素为:8
异常
1. IndexOutOfBoundsException
// Java代码演示get()方法的异常
import java.util.*;
public class LinkedListExcep1 {
public static void main(String[] args)
{
// 声明一个LinkedList
LinkedList<String> list = new LinkedList<String>();
// 使用add()添加元素
list.add("Geeks");
list.add("4");
list.add("Geeks");
list.add("8");
// 尝试获取第7个元素
// 抛出异常
System.out.println("第7个元素是: " + list.get(7));
}
}
输出:
无输出
运行时错误:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 7, Size: 4
at java.util.LinkedList.checkElementIndex(LinkedList.java:555)
at java.util.LinkedList.get(LinkedList.java:476)
at LinkedListExcep1.main(LinkedListExcep1.java:22)
2. NoSuchElementException
// Java代码演示getFirst()方法的异常
import java.util.*;
public class LinkedListExcep2 {
public static void main(String[] args)
{
// 声明一个LinkedList
LinkedList<String> list = new LinkedList<String>();
// 尝试获取列表的第一个元素
// 抛出异常
System.out.println("列表的第一个元素是: " + list.getFirst());
}
}
输出:
无输出
运行时错误:
Exception in thread "main" java.util.NoSuchElementException
at java.util.LinkedList.getFirst(LinkedList.java:244)
at LinkedListExcep2.main(LinkedListExcep2.java:15)