Given an ArrayList collection in Java, the task is to remove the last element from the ArrayList.
Example:
Input: ArrayList[] = [10, 20, 30, 1, 2] Output: [10, 20, 30, 1] After removing the last element 2, the ArrayList is: [10, 20, 30, 1] Input: ArrayList[] = [1, 1, 2, 2, 3] Output: [1, 1, 2, 2] After removing the last element 3, the ArrayList is: [1, 1, 2, 2]
We can use the remove() method of ArrayList container in Java to remove the last element.
ArrayList provides two overloaded remove() method:
- remove(int index) : Accept index of the object to be removed. We can pass the last elements index to the remove() method to delete the last element.
- remove(Object obj) : Accept object to be removed. If the ArrayList does not contain duplicates, we can simply pass the last element value to be deleted to the remove() method, and it will delete that value.
Note: Incase the ArrayList contains duplicates, it will delete the first occurrence of the object passed as a parameter to the remove() method.
Below is the implementation to delete the last element using the two approaches:
- Program 1: Using remove(int index). Calculate the last element’s index using the size() method as:
index = ArrayList.size() - 1;
// Java program to delete last element of ArrayList
import
java.util.List;
import
java.util.ArrayList;
public
class
GFG {
public
static
void
main(String[] args)
{
List<Integer> al =
new
ArrayList<>();
al.add(
10
);
al.add(
20
);
al.add(
30
);
al.add(
1
);
al.add(
2
);
// Calculate index of last element
int
index = al.size() -
1
;
// Delete last element by passing index
al.remove(index);
System.out.println(
"Modified ArrayList : "
+ al);
}
}
Output:Modified ArrayList : [10, 20, 30, 1]
- Program 2: Using remove(Object obj).
// Java program to delete last element of ArrayList
import
java.util.List;
import
java.util.ArrayList;
public
class
GFG {
public
static
void
main(String[] args)
{
List<Integer> al =
new
ArrayList<>();
al.add(
10
);
al.add(
20
);
al.add(
30
);
al.add(
1
);
al.add(
2
);
// Since all elements are unique, pass the last
// elements value to delete it
// Note: values are integer object
al.remove(
new
Integer(
2
));
System.out.println(
"Modified ArrayList : "
+ al);
}
}
Output:Modified ArrayList : [10, 20, 30, 1]