-
aArray()
El método Java.util.concurrent.LinkedBlockingDeque.toArray() devuelve una array que contiene todos los elementos de la deque en la secuencia adecuada, es decir, del primero al último. La array devuelta estará segura a medida que se crea una nueva array (por lo tanto, se asigna nueva memoria). Por lo tanto, la persona que llama es libre de modificar la array. Actúa como un puente entre las API basadas en arreglos y las basadas en colecciones.
Sintaxis
public Object[] toArray()
Parámetros: No toma ningún parámetro.
Valor devuelto: Devuelve una array que contiene todos los elementos de la deque.
Los siguientes ejemplos ilustran el método LinkedBlockingDeque.toArray():
Ejemplo 1:
// Java Program Demonstrate toArray()
// method of LinkedBlockingDeque
import
java.util.concurrent.*;
import
java.util.*;
public
class
GFG {
public
static
void
main(String[] args)
throws
IllegalStateException
{
// create object of LinkedBlockingDeque
LinkedBlockingDeque<Integer> LBD
=
new
LinkedBlockingDeque<Integer>();
// Add numbers to end of LinkedBlockingDeque
LBD.add(
7855642
);
LBD.add(
35658786
);
LBD.add(
5278367
);
LBD.add(
74381793
);
System.out.println(
"LinkedBlockingDeque: "
+ LBD);
Object[] a = LBD.toArray();
System.out.println(
"Returned Array: "
+ Arrays.toString(a));
}
}
Producción:LinkedBlockingDeque: [7855642, 35658786, 5278367, 74381793] Returned Array: [7855642, 35658786, 5278367, 74381793]
-
aArray(T[])
El método toArray(arr[]) de la clase LinkedBlockingDeque en Java se utiliza para formar una array de los mismos elementos que la de LinkedBlockingDeque. Devuelve una array que contiene todos los elementos de este LinkedBlockingDeque en el orden correcto; el tipo de tiempo de ejecución de la array devuelta es el de la array especificada. Si LinkedBlockingDeque cabe en 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 este LinkedBlockingDeque.
Si LinkedBlockingDeque cabe en la array especificada con espacio de sobra (es decir, la array tiene más elementos que LinkedBlockingDeque), el elemento de la array que sigue inmediatamente al final de LinkedBlockingDeque se establece en nulo. (Esto es útil para determinar la longitud de LinkedBlockingDeque solo si la persona que llama sabe que LinkedBlockingDeque 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 LinkedBlockingDeque, 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 LinkedBlockingDeque.
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 LinkedBlockingDeque.
- NullPointerException : si la array es nula, se lanza esta excepción.
El siguiente programa ilustra el funcionamiento del método LinkedBlockingDeque.toArray(arr[]).
Programa 1: cuando la array tiene el tamaño de LinkedBlockingDeque
// Java code to illustrate toArray(arr[])
import
java.util.concurrent.*;
import
java.util.*;
public
class
LinkedBlockingDequeDemo {
public
static
void
main(String args[])
{
// Creating an empty LinkedBlockingDeque
LinkedBlockingDeque<String> LBD
=
new
LinkedBlockingDeque<String>();
// Use add() method to add
// elements into the LinkedBlockingDeque
LBD.add(
"Welcome"
);
LBD.add(
"To"
);
LBD.add(
"Geeks"
);
LBD.add(
"For"
);
LBD.add(
"Geeks"
);
// Displaying the LinkedBlockingDeque
System.out.println(
"The LinkedBlockingDeque: "
+ LBD);
// Creating the array and using toArray()
String[] arr =
new
String[
5
];
arr = LBD.toArray(arr);
// Displaying arr
System.out.println(
"Returned Array: "
+ Arrays.toString(arr));
}
}
Producción:The LinkedBlockingDeque: [Welcome, To, Geeks, For, Geeks] Returned Array: [Welcome, To, Geeks, For, Geeks]