Método AbstractList subList() en Java con ejemplos

El método subList() de la clase java.util.AbstractList se utiliza para devolver una vista de la parte de esta lista entre fromIndex, 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<E> subList(int fromIndex, int toIndex)

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

  • fromIndex: punto final bajo (inclusive) 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 AbstractList<Integer>
            AbstractList<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 AbstractList: "
                               + arrlist);
  
            // getting the subList
            // using subList() method
            List<String> arrlist2 = arrlist.subList(2, 4);
  
            // print the subList
            System.out.println("Sublist of AbstractList: "
                               + arrlist2);
        }
  
        catch (IndexOutOfBoundsException e) {
            System.out.println(e);
        }
  
        catch (IllegalArgumentException e) {
            System.out.println(e);
        }
    }
}
Producción:

Original AbstractList: [A, B, C, D, E]
Sublist of AbstractList: [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 AbstractList<Integer>
            AbstractList<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 AbstractList: "
                               + 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 AbstractList: "
                               + arrlist2);
        }
  
        catch (IndexOutOfBoundsException e) {
            System.out.println(e);
        }
  
        catch (IllegalArgumentException e) {
            System.out.println(e);
        }
    }
}
Producción:

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

End index value is out of range
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 AbstractList<Integer>
            AbstractList<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 AbstractList: "
                               + 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 AbstractList: "
                               + arrlist2);
        }
  
        catch (IndexOutOfBoundsException e) {
            System.out.println(e);
        }
  
        catch (IllegalArgumentException e) {
            System.out.println(e);
        }
    }
}
Producción:

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

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

Publicación traducida automáticamente

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