要从Java中的有序链表(例如 LinkedList)中删除元素,您可以使用以下方法之一:
使用 remove() 方法删除指定位置的元素:
LinkedList<String> list = new LinkedList<String>();list.add("one");list.add("two");list.add("three");// 删除位置为1的元素list.remove(1);使用 removeFirst() 或 removeLast() 方法删除链表的第一个或最后一个元素:
LinkedList<String> list = new LinkedList<String>();list.add("one");list.add("two");list.add("three");// 删除第一个元素list.removeFirst();// 删除最后一个元素list.removeLast();使用 remove(Object o) 方法删除指定值的元素。此方法将删除链表中首次出现的指定元素(从头到尾遍历链表):
LinkedList<String> list = new LinkedList<String>();list.add("one");list.add("two");list.add("three");// 删除值为"two"的元素list.remove("two");使用迭代器(Iterator)遍历链表并删除指定元素:
import java.util.Iterator;import java.util.LinkedList;public class Main { public static void main(String[] args) { LinkedList<String> list = new LinkedList<String>(); list.add("one"); list.add("two"); list.add("three"); // 创建迭代器 Iterator<String> iterator = list.iterator(); // 遍历链表并删除值为"two"的元素 while (iterator.hasNext()) { String element = iterator.next(); if (element.equals("two")) { iterator.remove(); } } }}请注意,使用 Iterator 删除元素时,务必使用 Iterator 的 remove() 方法,而不是 LinkedList 的 remove() 方法,因为这样可以避免在遍历过程中对链表结构进行修改。


