Yandex

Java Advanced ConceptsJava Advanced Concepts3

Java LinkedList removeLast() method
Syntax and Examples


Introduction

The removeLast() method in Java's LinkedList class is a handy tool for removing the last element from your linked list. Think of it like taking the last item off a stack – you want to get rid of that tail-end element, and this method does just that. It’s useful when you need to process items in reverse order or are implementing data structures where the last element needs to be removed.

Syntax

public E removeLast()

Parameters

Parameter Description
None This method doesn't accept any input parameters.

Return Value

The removeLast() method returns the element that was removed from the tail of the list. If the list is empty, it throws a NoSuchElementException.

Examples

Example 1: Removing an Element from a LinkedList

This example demonstrates how to use removeLast() to remove the last element of a LinkedList. We'll create a list, add some elements, and then remove the last one.

import java.util.LinkedList;
import java.util.NoSuchElementException;

public class RemoveLastExample {
    public static void main(String[] args) {
        LinkedList<String> myList = new LinkedList<>();
        myList.add("Apple");
        myList.add("Banana");
        myList.add("Cherry");

        System.out.println("Original list: " + myList);

        try {
            String lastElement = myList.removeLast();
            System.out.println("Removed element: " + lastElement);
            System.out.println("List after removal: " + myList);
        } catch (NoSuchElementException e) {
            System.out.println("The list is empty.");
        }
    }
}
Original list: [Apple, Banana, Cherry]
Removed element: Cherry
List after removal: [Apple, Banana]

Explanation: The code first creates a LinkedList named myList and adds three strings to it. Then, removeLast() is called which removes the last element 'Cherry' from the list. The removed element is stored in the lastElement variable, and then printed to console as well as the updated LinkedList.

Example 2: Handling an Empty List

This example shows how to handle a potential NoSuchElementException when trying to remove from an empty list. It's important to anticipate and gracefully manage this scenario.

import java.util.LinkedList;
import java.util.NoSuchElementException;

public class RemoveLastEmptyExample {
    public static void main(String[] args) {
        LinkedList<Integer> emptyList = new LinkedList<>();

        System.out.println("Attempting to remove from an empty list...");

        try {
            Integer removedElement = emptyList.removeLast();
            System.out.println("Removed element: " + removedElement);
        } catch (NoSuchElementException e) {
            System.out.println("Caught NoSuchElementException: The list is empty.");
        }
    }
}
Attempting to remove from an empty list...
Caught NoSuchElementException: The list is empty.

Explanation: This code creates an empty LinkedList named emptyList and then attempts to call removeLast() on it. Because the list is empty, a NoSuchElementException is thrown. The try-catch block catches this exception and prints a user-friendly message instead of crashing the program.

Example 3: Using removeLast() in a Loop

This example demonstrates how to use `removeLast()` within a loop to process elements from the end of a list until it's empty. It’s useful for scenarios where you need to perform actions on elements sequentially, starting from the tail.

import java.util.LinkedList;

public class RemoveLastLoopExample {
    public static void main(String[] args) {
        LinkedList<Double> myList = new LinkedList<>();
        myList.add(10.0);
        myList.add(20.0);
        myList.add(30.0);

        System.out.println("Original list: " + myList);

        while (!myList.isEmpty()) {
            Double lastElement = myList.removeLast();
            System.out.println("Removed: " + lastElement);
        }

        System.out.println("List after processing: " + myList); // Should be empty
    }
}
Original list: [10.0, 20.0, 30.0]
Removed: 30.0
Removed: 20.0
Removed: 10.0
List after processing: []

Explanation: This code initializes a LinkedList with three double values. It then uses a `while` loop that continues as long as the list is not empty. Inside the loop, `removeLast()` removes and prints the last element of the list in each iteration. After all elements are removed, the list becomes empty.


Welcome to ProgramGuru

Sign up to start your journey with us

Support ProgramGuru.org

You can support this website with a contribution of your choice.

When making a contribution, mention your name, and programguru.org in the message. Your name shall be displayed in the sponsors list.

PayPal

UPI

PhonePe QR

MALLIKARJUNA M