Java 中的 LinkedList addLast() 方法
在 Java 中,LinkedList 是一个比较常用的数据结构,它实现了 List 接口和 Deque 接口,可以作为双端队列使用。LinkedList 中提供了 addLast() 方法,用来在链表尾部插入元素。本文主要讲解该方法的使用。
addLast() 方法的语法
addLast() 方法的语法如下:
public boolean addLast(E e)
其中,E 表示泛型类型,它代表了要添加的元素的类型。addLast() 方法的返回值为 boolean 类型,表示元素是否添加成功。一般来说,LinkedList 中 addLast() 方法的返回值始终为 true。
addLast() 方法的使用
下面是 addLast() 方法的使用示例:
import java.util.LinkedList;
public class AddLastExample {
public static void main(String[] args) {
LinkedList<String> list = new LinkedList<>();
// 添加元素到链表尾部
list.addLast("apple");
list.addLast("banana");
list.addLast("cherry");
// 输出链表
System.out.println(list);
}
}
上述代码中,我们创建了一个 LinkedList 对象 list,并使用 addLast() 方法将三个字符串元素添加到链表尾部。最后,我们输出了链表内容,输出结果为:[apple, banana, cherry]。
可以看到,addLast() 方法非常简单易用,只需要提供要添加的元素即可。
addLast() 方法的时间复杂度
在使用 addLast() 方法时,我们需要了解该方法的时间复杂度。对于 LinkedList 这个数据结构来说,addLast() 方法是具有常数时间复杂度的,即 O(1)。
这是因为在 LinkedList 中,添加元素只需要修改指针指向即可,不需要像 ArrayList 那样进行数组元素的拷贝和移动。因此,当需要对链表进行频繁的添加和删除操作时,LinkedList 常常比 ArrayList 更优秀。
addLast() 方法的异常
对于 addLast() 方法来说,可能会发生两种异常情况:NullPointerException 和 ClassCastException。
当尝试将 null 值传入 addLast() 方法时,会触发 NullPointerException 异常。例如,下面的代码会抛出 NullPointerException:
list.addLast(null);
另外,如果我们将不是泛型类型 E 的对象传给 addLast() 方法,那么会触发 ClassCastException 异常。例如,下面的代码会抛出 ClassCastException:
LinkedList<Object> list = new LinkedList<>();
list.addLast("hello"); // 这里会抛出 ClassCastException 异常
结论
本文介绍了 Java 中 LinkedList 的 addLast() 方法,讲解了该方法的语法、使用、时间复杂度和可能抛出的异常。addLast() 方法在 LinkedList 中具有常数时间复杂度,是非常常用和实用的链表操作方法。