从 LinkedList 中删除元素的 Java 程序

要理解此示例,您应该具备以下 Java 编程的知识:

示例 1:使用 remove() 删除元素

import java.util.LinkedList;

public 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;

public 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;

public 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;

public 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 表达式,它返回小于4的数字。 要了解有关 lambda 的更多信息,请访问 Java Lambda 表达式

removeIf() 方法删除那些让符合 lambda 表达式为真的数字。