Open In App

How to remove a SubList from a List in Java

Last Updated : 18 Jan, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

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 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:

    Original List: [GFG, for, Geeks, computer, portal]
    Final List: [GFG, computer, portal]
    

    Note: Classes which can inherit AbstractList:

  • Method 2: Using removeRange() method

    Syntax:

    List.removeRange(int fromIndex, int toIndex)
    

    Example:




    // 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]
    


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

Similar Reads