📜  Java中在LinkedList前面添加一个元素

📅  最后修改于: 2022-05-13 01:55:44.086000             🧑  作者: Mango

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]