跳到主要内容

Java程序从LinkedList中移除元素

要理解这个示例,你应该具备以下 Java 编程主题的知识:

示例 1:使用 remove() 方法移除元素

import java.util.LinkedList;

class Main {
public static void main(String[] args) {
LinkedList<String> languages = new LinkedList<>();

// 在 LinkedList 中添加元素
languages.add("Java");
languages.add("Python");
languages.add("JavaScript");
languages.add("Kotlin");
System.out.println("LinkedList: " + languages);

// 从索引 1 处移除元素
String str = languages.remove(3);
System.out.println("移除的元素: " + str);

System.out.println("更新后的 LinkedList: " + languages);
}
}

输出

LinkedList: [Java, Python, JavaScript, Kotlin]
移除的元素: Kotlin
更新后的 LinkedList: [Java, Python, JavaScript]

在上面的示例中,我们创建了一个名为 languages 的 linkedlist。在这里,我们使用了 remove() 方法从 linkedlist 中移除一个元素。

该方法接受元素的索引号作为其参数。

示例 2:使用 listIterator() 方法

我们也可以使用 listIterator() 方法从 linkedlist 中移除元素。

import java.util.ArrayList;
import java.util.ListIterator;

class Main {
public static void main(String[] args) {
ArrayList<String> animals= new ArrayList<>();

// 添加元素
animals.add("Dog");
animals.add("Cat");
animals.add("Horse");
System.out.println("LinkedList: " + animals);

// 创建 ListIterator 对象
ListIterator<String> listIterate = animals.listIterator();
listIterate.next();

// 移除 next() 返回的元素
listIterate.remove();
System.out.println("新的 LinkedList: " + animals);
}
}

输出

LinkedList: [Dog, Cat, Horse]
新的 LinkedList: [Cat, Horse]

在上面的示例中,listIterator() 方法返回了一个迭代器,用于访问 linkedlist 的每个元素。

这里,next() 方法返回 linkedlist 中的下一个元素。

示例 3:使用 clear() 方法移除所有元素

我们可以使用 clear() 方法移除 linkedlist 的所有元素。

import java.util.LinkedList;

class Main {
public static void main(String[] args) {
LinkedList<String> languages = new LinkedList<>();

// 在 LinkedList 中添加元素
languages.add("Java");
languages.add("Python");
languages.add("Swift");
System.out.println("LinkedList: " + languages);

// 移除所有元素
languages.clear();
System.out.println("使用 clear() 后的 LinkedList: " + languages);
}
}

输出

LinkedList: [Java, Python, Swift]
使用 clear() 后的 LinkedList: []

注意:我们也可以使用 removeAll() 方法移除所有元素。然而,clear() 方法被认为比 removeAll() 方法更高效。

示例 4:使用 removeIf() 方法

我们也可以在满足某个条件时从 linkedlist 中移除元素。为此,我们使用 removeIf() 方法。

import java.util.LinkedList;

class Main {
public static void main(String[] args) {
LinkedList<Integer> numbers = new LinkedList<>();

// 在 LinkedList 中添加元素
numbers.add(2);
numbers.add(3);
numbers.add(4);
numbers.add(5);
System.out.println("LinkedList: " + numbers);

// 移除所有小于 4 的元素
numbers.removeIf((Integer i) -> i < 4);
System.out.println("更新后的 LinkedList: " + numbers);

}
}

输出

LinkedList: [2, 3, 4, 5]
更新后的 LinkedList: [4, 5]

在上面的示例中,(Integer i) -> i < 4 是一个 lambda 表达式。要了解更多关于 lambda 的信息,请访问 [Java Lambda 表达式](/t

utorials/java-programming/lambda-expression)。它返回小于 4 的数字。

removeIf() 方法移除了 lambda 表达式返回的数字。