Método ArrayList subList() en Java con ejemplos

El método subList() de la clase java.util.ArrayList se utiliza para devolver una vista de la parte de esta lista entre el fromIndex especificado, inclusive, y toIndex, exclusivo. (Si fromIndex y toIndex son iguales, la lista devuelta está vacía).

La lista devuelta está respaldada por esta lista, por lo que los cambios no estructurales en la lista devuelta se reflejan en esta lista y viceversa. La lista devuelta admite todas las operaciones de lista opcionales.

Sintaxis:

public List subList(int fromIndex, int toIndex)

Parámetros: este método toma el siguiente argumento como parámetro.

  • fromIndex: punto final inferior (incluido) de la subLista
  • toIndex – punto final alto (exclusivo) de la subLista

Valor devuelto: este método devuelve una vista del rango especificado dentro de esta lista.

Excepción: este método arroja la siguiente excepción.

  • IndexOutOfBoundsException: si un valor de índice de punto final está fuera de rango (tamaño fromIndex)
  • IllegalArgumentException: si los índices de punto final están fuera de servicio (fromIndex > toIndex)

A continuación se muestran los ejemplos para ilustrar el método subList() .

Ejemplo 1:

// Java program to demonstrate
// subList() method
// for String value
  
import java.util.*;
  
public class GFG1 {
    public static void main(String[] argv)
        throws Exception
    {
  
        try {
  
            // Creating object of ArrayList<Integer>
            ArrayList<String>
                arrlist = new ArrayList<String>();
  
            // Populating arrlist1
            arrlist.add("A");
            arrlist.add("B");
            arrlist.add("C");
            arrlist.add("D");
            arrlist.add("E");
  
            // print arrlist
            System.out.println("Original arrlist: "
                               + arrlist);
  
            // getting the subList
            // using subList() method
            List<String> arrlist2 = arrlist.subList(2, 4);
  
            // print the subList
            System.out.println("Sublist of arrlist: "
                               + arrlist2);
        }
  
        catch (IndexOutOfBoundsException e) {
            System.out.println("Exception thrown : " + e);
        }
  
        catch (IllegalArgumentException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}
Producción:

Original arrlist: [A, B, C, D, E]
Sublist of arrlist: [C, D]

Ejemplo 2: para IndexOutOfBoundsException

// Java program to demonstrate
// subList() method
// for IndexOutOfBoundsException
  
import java.util.*;
  
public class GFG1 {
    public static void main(String[] argv)
        throws Exception
    {
        try {
  
            // Creating object of ArrayList<Integer>
            ArrayList<String>
                arrlist = new ArrayList<String>();
  
            // Populating arrlist1
            arrlist.add("A");
            arrlist.add("B");
            arrlist.add("C");
            arrlist.add("D");
            arrlist.add("E");
  
            // print arrlist
            System.out.println("Original arrlist: "
                               + arrlist);
  
            // getting the subList
            // using subList() method
            System.out.println("\nEnd index value is out of range");
            List<String> arrlist2 = arrlist.subList(2, 7);
  
            // print the subList
            System.out.println("Sublist of arrlist: "
                               + arrlist2);
        }
  
        catch (IndexOutOfBoundsException e) {
            System.out.println("Exception thrown : " + e);
        }
  
        catch (IllegalArgumentException e) {
            System.out.println("Exception thrown : " + e);
        }
    }
}
Producción:

Original arrlist: [A, B, C, D, E]

End index value is out of range
Exception thrown : java.lang.IndexOutOfBoundsException: toIndex = 7

Ejemplo 3: Para IllegalArgumentException

// Java program to demonstrate
// subList() method
// for IllegalArgumentException
  
import java.util.*;
  
public class GFG1 {
    public static void main(String[] argv) throws Exception
    {
        try {
  
            // Creating object of ArrayList<Integer>
            ArrayList<String>
                arrlist = new ArrayList<String>();
  
            // Populating arrlist1
            arrlist.add("A");
            arrlist.add("B");
            arrlist.add("C");
            arrlist.add("D");
            arrlist.add("E");
  
            // print arrlist
            System.out.println("Original arrlist: "
                               + arrlist);
  
            // getting the subList
            // using subList() method
            System.out.println("\nEndpoint indices "
                               + "are out of order"
                               + " (fromIndex > toIndex)");
            List<String> arrlist2 = arrlist.subList(7, 2);
  
            // print the subList
            System.out.println("Sublist of arrlist: "
                               + arrlist2);
        }
  
        catch (IndexOutOfBoundsException e) {
            System.out.println("Exception thrown: " + e);
        }
  
        catch (IllegalArgumentException e) {
            System.out.println("Exception thrown: " + e);
        }
    }
}
Producción:

Original arrlist: [A, B, C, D, E]

Endpoint indices are out of order (fromIndex > toIndex)
Exception thrown: java.lang.IllegalArgumentException: fromIndex(7) > toIndex(2)

Publicación traducida automáticamente

Artículo escrito por RohitPrasad3 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 *