How to remove a SubList from a List in Java
Last Updated :
18 Jan, 2019
Improve
Given a list in Java, the task is to remove all the elements in the sublist whose index is between fromIndex, inclusive, and toIndex, exclusive. The range of the index is defined by the user.
Example:
Input list = [1, 2, 3, 4, 5, 6, 7, 8], fromIndex = 2, endIndex = 4 Output [1, 2, 5, 6, 7, 8] Input list = ['G', 'E', 'E', 'G', 'G', 'K', 'S'], fromIndex = 3, endIndex = 5 Output ['G', 'E', 'E', 'K', 'S']
Method 1: Using subList() and clear() method
Syntax:List.subList(int fromIndex, int toIndex).clear()
Example:Java // Java code to remove a subList using // subList(a, b).clear() method import java.util.*; public class AbstractListDemo { public static void main(String args[]) { // Creating an empty AbstractList AbstractList<String> list = new LinkedList<String>(); // Using add() method // to add elements in the list list.add("GFG"); list.add("for"); list.add("Geeks"); list.add("computer"); list.add("portal"); // Output the list System.out.println("Original List: " + list); // subList and clear method // to remove elements // specified in the range list.subList(1, 3).clear(); // Print the final list System.out.println("Final List: " + list); } }
Output:Note: Classes which can inherit AbstractList:Original List: [GFG, for, Geeks, computer, portal] Final List: [GFG, computer, portal]
Method 2: Using removeRange() method
Syntax:List.removeRange(int fromIndex, int toIndex)
Example:Java // Java code to remove a subList // using removeRange() method import java.util.*; // since removeRange() is a protected method // ArrayList has to be extend the class public class GFG extends ArrayList<Integer> { public static void main(String[] args) { // create an empty array list GFG arr = new GFG(); // use add() method // to add values in the list arr.add(1); arr.add(2); arr.add(3); arr.add(4); arr.add(5); arr.add(6); arr.add(7); arr.add(8); // prints the list before removing System.out.println("Original List: " + arr); // removing elements in the list // from index 2 to 4 arr.removeRange(2, 4); System.out.println("Final List: " + arr); } }
Output:Original List: [1, 2, 3, 4, 5, 6, 7, 8] Final List: [1, 2, 5, 6, 7, 8]