示例 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 表达式返回的数字。