Open In App

C# | Adding new node or value at the start of LinkedList<T>

Last Updated : 01 Feb, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

LinkedList<T>.AddFirst Method is used to add a new node or value at the starting of the LinkedList<T>. There are 2 methods in the overload list of this method as follows:

  1. AddFirst(LinkedList<T>)
  2. AddFirst(T)

AddFirst(LinkedListNode<T>)

This method is used to add the specified new node at the starting of the LinkedList<T>.

Syntax:

public void AddFirst (System.Collections.Generic.LinkedListNode<T> node);

Here, node is the new LinkedListNode<T> to add at the start of the LinkedList<T>.

Exceptions:

  • ArgumentNullException : If the node is null.
  • InvalidOperationException : If the node belongs to another LinkedList<T>.

Example:




// C# code to add new node
// at the start of LinkedList
using System;
using System.Collections;
using System.Collections.Generic;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
        // Creating a LinkedList of Integers
        LinkedList<int> myList = new LinkedList<int>();
  
        // Adding nodes in LinkedList
        myList.AddLast(2);
        myList.AddLast(4);
        myList.AddLast(6);
        myList.AddLast(6);
        myList.AddLast(6);
        myList.AddLast(8);
  
        // To get the count of nodes in LinkedList
        // before removing all the nodes
        Console.WriteLine("Total nodes in myList are : " + myList.Count);
  
        // Displaying the nodes in LinkedList
        foreach(int i in myList)
        {
            Console.WriteLine(i);
        }
  
        // Adding new node at the start of LinkedList
        // This will give error as node is null
        myList.AddFirst(5);
  
        // To get the count of nodes in LinkedList
        // after removing all the nodes
        Console.WriteLine("Total nodes in myList are : " + myList.Count);
  
        // Displaying the nodes in LinkedList
        foreach(int i in myList)
        {
            Console.WriteLine(i);
        }
    }
}


Output:

Total nodes in myList are : 6
2
4
6
6
6
8

Unhandled Exception:
System.ArgumentNullException: Value cannot be null.
Parameter name: node

Note:

  • LinkedList<T> accepts null as a valid Value for reference types and allows duplicate values.
  • If the LinkedList<T> is empty, the new node becomes the First and the Last.
  • This method is an O(1) operation.

AddFirst(T) Method

This method is used to add a new node containing the specified value at the start of the LinkedList<T>.

Syntax:

public System.Collections.Generic.LinkedListNode AddFirst (T value);

Here, value is the value to add at the start of the LinkedList<T>.

Return Value: The new LinkedListNode<T> containing value.

Example:




// C# code to add new node containing
// the specified value at the start
// of LinkedList
using System;
using System.Collections;
using System.Collections.Generic;
  
class GFG {
  
    // Driver code
    public static void Main()
    {
        // Creating a LinkedList of Integers
        LinkedList<int> myList = new LinkedList<int>();
  
        // Adding nodes in LinkedList
        myList.AddLast(2);
        myList.AddLast(4);
        myList.AddLast(6);
        myList.AddLast(6);
        myList.AddLast(6);
        myList.AddLast(8);
  
        // To get the count of nodes in LinkedList
        // before removing all the nodes
        Console.WriteLine("Total nodes in myList are : " + myList.Count);
  
        // Displaying the nodes in LinkedList
        foreach(int i in myList)
        {
            Console.WriteLine(i);
        }
  
        // Adding new node containing the
        // specified value at the start of LinkedList
        myList.AddFirst(20);
  
        // To get the count of nodes in LinkedList
        // after removing all the nodes
        Console.WriteLine("Total nodes in myList are : " + myList.Count);
  
        // Displaying the nodes in LinkedList
        foreach(int i in myList)
        {
            Console.WriteLine(i);
        }
    }
}


Output:

Total nodes in myList are : 6
2
4
6
6
6
8
Total nodes in myList are : 7
20
2
4
6
6
6
8

Note:

  • LinkedList<T> accepts null as a valid Value for reference types and allows duplicate values.
  • If the LinkedList<T> is empty, the new node becomes the First and the Last.
  • This method is an O(1) operation.

Reference:



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads