The getLast() method of Deque Interface returns the last element or the tail of the Deque. It does not deletes the element. It throws an exception when the Deque is empty.
Syntax:
E getLast()
Parameters: This method does not accepts any parameter.
Returns: This method returns the last element or the tail of the Deque but does not delete it.
Exception: The function throws NoSuchElementException when the Deque is empty and the function is called.
Below programs illustrate getLast() method of Deque:
Program 1: With the help of LinkedList.
// Java Program Demonstrate getLast() // method of Deque import java.util.*;
public class GFG {
public static void main(String[] args)
throws IllegalStateException
{
// create object of Deque
Deque<Integer> DQ
= new LinkedList<Integer>();
// Add numbers to end of Deque
DQ.add( 7855642 );
DQ.add( 35658786 );
DQ.add( 5278367 );
DQ.add( 74381793 );
// print Deque
System.out.println( "Deque: " + DQ);
// print head
System.out.println( "Deque's head: " + DQ.getLast());
}
} |
Deque: [7855642, 35658786, 5278367, 74381793] Deque's head: 74381793
Program 2: With the help of ArrayDeque.
// Java Program Demonstrate getLast() // method of Deque import java.util.*;
public class GFG {
public static void main(String[] args)
throws IllegalStateException
{
// create object of Deque
Deque<Integer> DQ
= new ArrayDeque<Integer>();
// Add numbers to end of Deque
DQ.add( 7855642 );
DQ.add( 35658786 );
DQ.add( 5278367 );
DQ.add( 74381793 );
// print Deque
System.out.println( "Deque: " + DQ);
// print head
System.out.println( "Deque's head: " + DQ.getLast());
}
} |
Deque: [7855642, 35658786, 5278367, 74381793] Deque's head: 74381793
Program 3: With the help of ConcurrentLinkedDeque.
// Java Program Demonstrate getLast() // method of Deque import java.util.*;
import java.util.concurrent.ConcurrentLinkedDeque;
public class GFG {
public static void main(String[] args)
throws IllegalStateException
{
// create object of Deque
Deque<Integer> DQ
= new ConcurrentLinkedDeque<Integer>();
// Add numbers to end of Deque
DQ.add( 7855642 );
DQ.add( 35658786 );
DQ.add( 5278367 );
DQ.add( 74381793 );
// print Deque
System.out.println( "Deque: " + DQ);
// print head
System.out.println( "Deque's head: " + DQ.getLast());
}
} |
Deque: [7855642, 35658786, 5278367, 74381793] Deque's head: 74381793
Program 4: With the help of LinkedBlockingDeque.
// Java Program Demonstrate getLast() // method of Deque import java.util.*;
import java.util.concurrent.LinkedBlockingDeque;
public class GFG {
public static void main(String[] args)
throws IllegalStateException
{
// create object of Deque
Deque<Integer> DQ
= new LinkedBlockingDeque<Integer>();
// Add numbers to end of Deque
DQ.add( 7855642 );
DQ.add( 35658786 );
DQ.add( 5278367 );
DQ.add( 74381793 );
// print Deque
System.out.println( "Deque: " + DQ);
// print head
System.out.println( "Deque's head: " + DQ.getLast());
}
} |
Deque: [7855642, 35658786, 5278367, 74381793] Deque's head: 74381793
Program 5:
// Java Program Demonstrate getLast()() // method of Deque when it is empty import java.util.*;
public class GFG {
public static void main(String[] args)
throws IllegalStateException
{
// create object of Deque
Deque<Integer> DQ
= new LinkedList<Integer>();
// Add numbers to end of Deque
DQ.add( 7855642 );
DQ.add( 35658786 );
DQ.add( 5278367 );
DQ.add( 74381793 );
// print Deque
System.out.println( "Deque: " + DQ);
// print head
System.out.println( "Deque's head: " + DQ.getLast());
DQ.clear();
// Deque is empty now hence exception
System.out.println( "Deque's head: " + DQ.getLast());
}
} |
Output:
Exception in thread "main" java.util.NoSuchElementException at java.util.LinkedList.getLast(LinkedList.java:257) at GFG.main(GFG.java:29)
Reference: https://docs.oracle.com/javase/8/docs/api/java/util/Deque.html#getLast–