Java LinkedList remove()方法
我们都知道,LinkedList是一种存储数据的方式,它包含节点集,每个节点都包含数据和地址部分,地址部分负责连接节点,从而形成一个List,现在我们可以在上面进行操作。现在,我们想使用LinkedList类的remove()方法来移除一个节点。
图示
该类中的remove()方法的类型
- 里面没有参数
- 在参数中传递索引
- 在参数中传递对象
让我们通过提供一个干净的java程序来讨论每一个方法的实现,如下所示。
类型1:remove()方法
它用于从一个链接列表中删除一个元素。该元素被从链表的开头或头部移除。
语法
LinkedList.remove()
参数: 该函数不接受任何参数。
返回值: 该方法返回列表的头部或列表头部的元素。
例子
// Java Program to Illustrate remove() method
// of LinkedList class
// Default removal from the last of List
// Importing required classes
import java.io.*;
import java.util.LinkedList;
// Main class
public class GFG {
// Main driver method
public static void main(String args[])
{
// Creating an empty LinkedList of String type
LinkedList<String> list = new LinkedList<String>();
// Adding elements in the list
// Using add() method
list.add("Geeks");
list.add("for");
list.add("Geeks");
list.add("10");
list.add("20");
// Printing the elements inside LinkedList
System.out.println("LinkedList:" + list);
// Removing the head from List
// using remove() method
list.remove();
// Printing the final elements inside Linkedlist
System.out.println("Final LinkedList:" + list);
}
}
输出
LinkedList:[Geeks, for, Geeks, 10, 20]
Final LinkedList:[for, Geeks, 10, 20]
类型2:remove(int index)方法
它用于从一个链接列表的特定位置或索引中删除一个元素。
语法
LinkedList.remove(int index)
参数: 参数 index 为整数数据类型,指定要从LinkedList中移除的元素的位置。
返回值: 刚刚从列表中移除的元素。
例子
// Java Program to Illustrate remove() when position of
// element is passed as parameter
import java.io.*;
import java.util.LinkedList;
public class LinkedListDemo {
public static void main(String args[])
{
// Creating an empty LinkedList
LinkedList<String> list = new LinkedList<String>();
// Use add() method to add elements in the list
list.add("Geeks");
list.add("for");
list.add("Geeks");
list.add("10");
list.add("20");
// Output the list
System.out.println("LinkedList:" + list);
// Remove the head using remove()
list.remove(4);
// Print the final list
System.out.println("Final LinkedList:" + list);
}
}
输出
LinkedList:[Geeks, for, Geeks, 10, 20]
Final LinkedList:[Geeks, for, Geeks, 10]
时间复杂度: O(n)
类型3:remove(Object O)方法
它用于从链表中删除任何特定的元素。
语法
LinkedList.remove(Object O)
参数: 参数O是链接列表的对象类型,指定要从列表中删除的元素。
返回值: 如果在列表中找到指定的元素,返回 true。
例子
// Java Program to Illustrate remove() method
// Importing required classes
import java.io.*;
import java.util.LinkedList;
// Main class
public class GFG {
// Main driver method
public static void main(String args[])
{
// Creating an empty LinkedList of string type
LinkedList<String> list = new LinkedList<String>();
// Adding elements in the list
// using add() method
list.add("Geeks");
list.add("for");
list.add("Geeks");
list.add("10");
list.add("20");
// Printing the elements before removal
// inside above created LinkedList object
System.out.println("LinkedList:" + list);
// Removing the head
// using remove() method
list.remove("Geeks");
list.remove("20");
// Printing the final elements after removal
// inside above LinkedList object
System.out.println("Final LinkedList:" + list);
}
}
输出
LinkedList:[Geeks, for, Geeks, 10, 20]
Final LinkedList:[for, Geeks, 10]
时间复杂度 : O(n)
辅助空间 : O(n )