Java中在LinkedList前面添加一个元素
链表是一种线性数据结构,其中元素不存储在连续的内存位置。这些元素使用指针和地址链接。每个元素称为一个节点。这篇文章展示了如何在Java中在 LinkedList 的前面添加一个元素。
方法一:(使用自定义方法)
- 将内存分配给新节点。
- 在分配的节点中放入要插入的元素。
- 将新节点的下一个作为头部。
- 移动头部以指向新节点。
例子:
Java
// Java program to Add an Element
// to the Front of LinkedList
import java.io.*;
class LinkedList {
// head reference
Node head;
// Node class
class Node {
int data;
Node next;
Node(int d)
{
data = d;
next = null;
}
}
// Inserting node at the front
public void insertfront(int data)
{
// Allocating and inserting the data in that node
Node new_node = new Node(data);
// Make the next of the newly allocated node to be
// the head
new_node.next = head;
// Now make the head to be the newly allocated node
head = new_node;
}
// Printing the List
public void print()
{
Node temp = head;
while (temp != null) {
System.out.print(temp.data + " ");
temp = temp.next;
}
}
public static void main(String args[])
{
// create a linkedlist
LinkedList l = new LinkedList();
// insert elements at the front
l.insertfront(6);
l.insertfront(5);
l.insertfront(8);
l.insertfront(9);
// print the linkedlist
l.print();
}
}
Java
// Java program to Add an Element
// to the Front of LinkedList
import java.util.LinkedList;
class AddElementsAtTheFront {
public static void main(String args[])
{
// create a LinkedList
LinkedList list = new LinkedList();
// add elements at the front
list.addFirst("HI");
list.addFirst("HOW");
list.addFirst("ARE");
list.addFirst("YOU");
// print LinkedList
System.out.print(list);
}
}
Java
// Java program to Add an Element
// to the Front of LinkedList
import java.util.LinkedList;
class AddingElementsAtTheFront {
public static void main(String args[])
{
// create a LinkedList
LinkedList list = new LinkedList();
// add elements at the front
list.offerFirst("HI");
list.offerFirst("HOW");
list.offerFirst("ARE");
list.offerFirst("YOU");
// print the LinkedList
System.out.print(list);
}
}
输出
9 8 5 6
方法二:(使用LinkedList的addFirst(E e)方法)
宣言:
void addFirst(Object element)
句法:
LinkedList.addFirst(e)
参数:此函数接受单个参数元素,如上述语法所示。此参数指定的元素附加在列表的开头。
返回值:此方法不返回任何值。
Java
// Java program to Add an Element
// to the Front of LinkedList
import java.util.LinkedList;
class AddElementsAtTheFront {
public static void main(String args[])
{
// create a LinkedList
LinkedList list = new LinkedList();
// add elements at the front
list.addFirst("HI");
list.addFirst("HOW");
list.addFirst("ARE");
list.addFirst("YOU");
// print LinkedList
System.out.print(list);
}
}
输出
[YOU, ARE, HOW, HI]
方法 3:(使用offerFirst(E e) )
此方法还会在列表的前面插入指定的元素。
宣言:
public boolean offerFirst(E e)
句法:
LinkedList.offerFirst(e)
参数:这里, e是要添加的元素
返回值:此方法返回true
例子:
Java
// Java program to Add an Element
// to the Front of LinkedList
import java.util.LinkedList;
class AddingElementsAtTheFront {
public static void main(String args[])
{
// create a LinkedList
LinkedList list = new LinkedList();
// add elements at the front
list.offerFirst("HI");
list.offerFirst("HOW");
list.offerFirst("ARE");
list.offerFirst("YOU");
// print the LinkedList
System.out.print(list);
}
}
输出
[YOU, ARE, HOW, HI]