示例 1:使用 remove() 删除元素
import java.util.LinkedList;
class Main {
public static void main(String[] args) {
LinkedList<String> languages = new LinkedList<>();
// add elements in LinkedList
languages.add("Java");
languages.add("Python");
languages.add("JavaScript");
languages.add("Kotlin");
System.out.println("LinkedList: " + languages);
// remove elements from index 1
String str = languages.remove(3);
System.out.println("Removed Element: " + str);
System.out.println("Updated LinkedList: " + languages);
}
}
输出
LinkedList: [Java, Python, JavaScript, Kotlin] Removed Element: Kotlin Updated LinkedList: [Java, Python, JavaScript]
在上面的示例中,我们创建了一个名为 languages 的链表。这里,我们使用 remove()
方法从链表中删除一个元素。
该方法以要删除的元素的索引号作为参数。
示例 2:使用 listIterator() 方法
我们也可以使用 listsIterator()
从链表中删除元素。
import java.util.ArrayList;
import java.util.ListIterator;
class Main {
public static void main(String[] args) {
ArrayList<String> animals= new ArrayList<>();
// add elements
animals.add("Dog");
animals.add("Cat");
animals.add("Horse");
System.out.println("LinkedList: " + animals);
// creating an object of ListIterator
ListIterator<String> listIterate = animals.listIterator();
listIterate.next();
// चemove element returned by next()
listIterate.remove();
System.out.println("New LinkedList: " + animals);
}
}
输出
LinkedList: [Dog, Cat, Horse] New LinkedList: [Cat, Horse]
在上面的示例中,listIterator()
方法返回一个 迭代器,用于访问链表中的每个元素。
这里,next()
方法返回链表中的下一个元素。
示例 3:使用 clear() 删除所有元素
我们可以使用 clear()
方法删除链表中的所有元素。
import java.util.LinkedList;
class Main {
public static void main(String[] args) {
LinkedList<String> languages = new LinkedList<>();
// add elements in LinkedList
languages.add("Java");
languages.add("Python");
languages.add("Swift");
System.out.println("LinkedList: " + languages);
// remove all the elements
languages.clear();
System.out.println("LinkedList after clear(): " + languages);
}
}
输出
LinkedList: [Java, Python, Swift] LinkedList after clear(): []
注意:我们也可以使用 removeAll()
方法来删除所有元素。但是,clear()
方法比 removeAll()
方法更有效。
示例 4:使用 removeIf() 方法
我们还可以删除链表中满足特定条件的元素。为此,我们使用 removeIf()
方法。
import java.util.LinkedList;
class Main {
public static void main(String[] args) {
LinkedList<Integer> numbers = new LinkedList<>();
// add elements in LinkedList
numbers.add(2);
numbers.add(3);
numbers.add(4);
numbers.add(5);
System.out.println("LinkedList: " + numbers);
// remove all elements less than 4
numbers.removeIf((Integer i) -> i < 4);
System.out.println("Updated LinkedList: " + numbers);
}
}
输出
LinkedList: [2, 3, 4, 5] Updated LinkedList: [4, 5]
在上面的示例中,(Integer i) -> i < 4
是一个 lambda 表达式。要了解有关 lambda 的更多信息,请访问 Java Lambda 表达式。它返回小于 4 的数字。
removeIf()
方法删除 lambda 表达式返回的数字。