El método toArray(arr[]) de la clase AbstractSequentialList en Java se utiliza para formar una array de los mismos elementos que la de AbstractSequentialList. Devuelve una array que contiene todos los elementos de esta AbstractSequentialList en el orden correcto; el tipo de tiempo de ejecución de la array devuelta es el de la array especificada. Si AbstractSequentialList se ajusta a la array especificada, se devuelve allí. De lo contrario, se asigna una nueva array con el tipo de tiempo de ejecución de la array especificada y el tamaño de esta AbstractSequentialList.
Si AbstractSequentialList cabe en la array especificada con espacio de sobra (es decir, la array tiene más elementos que AbstractSequentialList), el elemento de la array que sigue inmediatamente al final de AbstractSequentialList se establece en nulo. (Esto es útil para determinar la longitud de AbstractSequentialList solo si la persona que llama sabe que AbstractSequentialList no contiene ningún elemento nulo).
Sintaxis:
public <T> T[] toArray(T[] a)
Parámetros: el método acepta un parámetro arr[], que es la array en la que se almacenarán los elementos de AbstractSequentialList, si es lo suficientemente grande; de lo contrario, se asigna una nueva array del mismo tipo de tiempo de ejecución para este propósito.
Valor devuelto: el método devuelve una array que contiene elementos similares a AbstractSequentialList.
Excepción: el método puede generar dos tipos de excepción:
- ArrayStoreException : cuando la array mencionada es de un tipo diferente y no se puede comparar con los elementos mencionados en AbstractSequentialList.
- NullPointerException : si la array es nula, se lanza esta excepción.
El siguiente programa ilustra el funcionamiento del método AbstractSequentialList.toArray(arr[]).
Programa 1: cuando la array tiene el tamaño de AbstractSequentialList
// Java code to illustrate toArray(arr[]) import java.util.*; public class AbstractSequentialListDemo { public static void main(String args[]) { // Creating an empty AbstractSequentialList AbstractSequentialList<String> abs_col = new LinkedList<String>(); // Use add() method to add // elements into the AbstractSequentialList abs_col.add("Welcome"); abs_col.add("To"); abs_col.add("Geeks"); abs_col.add("For"); abs_col.add("Geeks"); // Displaying the AbstractSequentialList System.out.println("The AbstractSequentialList: " + abs_col); // Creating the array and using toArray() String[] arr = new String[5]; arr = abs_col.toArray(arr); // Displaying arr System.out.println("The arr[] is:"); for (int j = 0; j < arr.length; j++) System.out.println(arr[j]); } }
The AbstractSequentialList: [Welcome, To, Geeks, For, Geeks] The arr[] is: Welcome To Geeks For Geeks
Programa 2: cuando la array es menor que el tamaño de AbstractSequentialList
// Java code to illustrate toArray(arr[]) import java.util.*; public class AbstractSequentialListDemo { public static void main(String args[]) { // Creating an empty AbstractSequentialList AbstractSequentialList<String> abs_col = new LinkedList<String>(); // Use add() method to add // elements into the AbstractSequentialList abs_col.add("Welcome"); abs_col.add("To"); abs_col.add("Geeks"); abs_col.add("For"); abs_col.add("Geeks"); // Displaying the AbstractSequentialList System.out.println("The AbstractSequentialList: " + abs_col); // Creating the array and using toArray() String[] arr = new String[1]; arr = abs_col.toArray(arr); // Displaying arr System.out.println("The arr[] is:"); for (int j = 0; j < arr.length; j++) System.out.println(arr[j]); } }
The AbstractSequentialList: [Welcome, To, Geeks, For, Geeks] The arr[] is: Welcome To Geeks For Geeks
Programa 3: cuando la array es mayor que el tamaño de AbstractSequentialList
// Java code to illustrate toArray(arr[]) import java.util.*; public class AbstractSequentialListDemo { public static void main(String args[]) { // Creating an empty AbstractSequentialList AbstractSequentialList<String> abs_col = new LinkedList<String>(); // Use add() method to add // elements into the AbstractSequentialList abs_col.add("Welcome"); abs_col.add("To"); abs_col.add("Geeks"); abs_col.add("For"); abs_col.add("Geeks"); // Displaying the AbstractSequentialList System.out.println("The AbstractSequentialList: " + abs_col); // Creating the array and using toArray() String[] arr = new String[10]; arr = abs_col.toArray(arr); // Displaying arr System.out.println("The arr[] is:"); for (int j = 0; j < arr.length; j++) System.out.println(arr[j]); } }
The AbstractSequentialList: [Welcome, To, Geeks, For, Geeks] The arr[] is: Welcome To Geeks For Geeks null null null null null
Programa 4: Para demostrar NullPointerException
// Java code to illustrate toArray(arr[]) import java.util.*; public class AbstractSequentialListDemo { public static void main(String args[]) { // Creating an empty AbstractSequentialList AbstractSequentialList<String> abs_col = new LinkedList<String>(); // Use add() method to add // elements into the AbstractSequentialList abs_col.add("Welcome"); abs_col.add("To"); abs_col.add("Geeks"); abs_col.add("For"); abs_col.add("Geeks"); // Displaying the AbstractSequentialList System.out.println("The AbstractSequentialList: " + abs_col); try { // Creating the array String[] arr = null; // using toArray() // Since arr is null // Hence exception will be thrown arr = abs_col.toArray(arr); // Displaying arr System.out.println("The arr[] is:"); for (int j = 0; j < arr.length; j++) System.out.println(arr[j]); } catch (Exception e) { System.out.println("Exception: " + e); } } }
The AbstractSequentialList: [Welcome, To, Geeks, For, Geeks] Exception: java.lang.NullPointerException