Cómo eliminar una sublista de una lista en Java

Dada una lista en Java, la tarea es eliminar todos los elementos de la sublista cuyo índice se encuentra entre fromIndex, inclusive, y toIndex, exclusivo. El rango del índice lo define el usuario.

Ejemplo:

Lista de entrada = [1, 2, 3, 4, 5, 6, 7, 8], fromIndex = 2, endIndex = 4
Salida [1, 2, 5, 6, 7, 8]

Lista de entrada = [‘G’, ‘E’, ‘E’, ‘G’, ‘G’, ‘K’, ‘S’], fromIndex = 3, endIndex = 5
Salida [‘G’, ‘E’, ‘E’, ‘K’, ‘S’]

  • Método 1: Usar el método subList() y clear()

    Sintaxis:

    List.subList(int fromIndex, int toIndex).clear()
    

    Ejemplo:

    // 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);
        }
    }
    Producción:

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

    Nota: Clases que pueden heredar AbstractList:

  • Método 2: Usar el método removeRange()

    Sintaxis:

    List.removeRange(int fromIndex, int toIndex)
    

    Ejemplo:

    // 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);
        }
    }
    Producción:

    Original List: [1, 2, 3, 4, 5, 6, 7, 8]
    Final List: [1, 2, 5, 6, 7, 8]
    

Publicación traducida automáticamente

Artículo escrito por ProgrammerAnvesh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *