要從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)
方法刪除指定值的元素。此方法將刪除鏈表中首次出現(xiàn)的指定元素(從頭到尾遍歷鏈表):
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");
// 創(chuàng)建迭代器
Iterator<String> iterator = list.iterator();
// 遍歷鏈表并刪除值為"two"的元素
while (iterator.hasNext()) {
String element = iterator.next();
if (element.equals("two")) {
iterator.remove();
}
}
}
}
請注意,使用 Iterator
刪除元素時,務(wù)必使用 Iterator
的 remove()
方法,而不是 LinkedList
的 remove()
方法,因為這樣可以避免在遍歷過程中對鏈表結(jié)構(gòu)進行修改。