LinkedList 是 Java 集合框架中的一种数据结构,实现了 List 接口,也可以被当做队列和栈来使用。LinkedList 内部使用双向链表实现,可以在任意位置插入或删除元素。
LinkedList 可以通过无参构造函数来创建:
LinkedList<String> linkedList = new LinkedList<>();
也可以通过将一个 Collection 对象传入 LinkedList 构造函数来创建:
List<String> arrayList = new ArrayList<>();
arrayList.add("A");
arrayList.add("B");
arrayList.add("C");
LinkedList<String> linkedList = new LinkedList<>(arrayList);
可以使用 add() 方法向 LinkedList 中添加元素,该方法会将元素添加到链表的末尾:
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("A");
linkedList.add("B");
linkedList.add("C");
可以使用 addFirst() 方法向 LinkedList 的头部添加元素,使用 addLast() 或者 add() 方法添加元素等价于在尾部添加元素:
javaCopy codeLinkedList<String> linkedList = new LinkedList<>();
linkedList.addFirst("A");
linkedList.addLast("B");
linkedList.add("C");
可以使用 get() 方法来获取 LinkedList 中的元素,该方法接受一个整数作为参数,表示要获取的元素在链表中的索引,索引从 0 开始:
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("A");
linkedList.add("B");
linkedList.add("C");
String first = linkedList.get(0);
String last = linkedList.get(2);
可以使用 remove() 方法来删除 LinkedList 中的元素,该方法接受一个整数作为参数,表示要删除的元素在链表中的索引,索引从 0 开始:
javaCopy codeLinkedList<String> linkedList = new LinkedList<>();
linkedList.add("A");
linkedList.add("B");
linkedList.add("C");
String removedElement = linkedList.remove(1);
可以使用 removeFirst() 和 removeLast() 方法来删除头部和尾部元素:
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("A");
linkedList.add("B");
linkedList.add("C");
String first = linkedList.removeFirst();
String last = linkedList.removeLast();
可以使用 clear() 方法来清空 LinkedList 中的所有元素:
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("A");
linkedList.add("B");
linkedList.add("C");
linkedList.clear();
可以使用 contains() 方法来判断 LinkedList 中是否包含某个元素:
LinkedList<String> linkedList = new LinkedList<>();
linkedList.add("A");
linkedList.add("B");
linkedList.add("C");
boolean containsA = linkedList.contains("A"); // true
boolean containsD = linkedList.contains("D"); // false
可以使用 indexOf() 和 lastIndexOf() 方法来获取 LinkedList 中某个元素的索引。其中,indexOf() 方法返回第一个匹配当对LinkedList进行添加或删除操作时,不需要像ArrayList一样进行数组元素的移动,而是只需要更改节点的指向即可,因此在添加或删除元素时,LinkedList的性能更好。然而,在随机访问元素时,LinkedList的性能较差,因为它需要遍历整个链表才能找到对应的元素。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。