-
toArray()
The Java.util.concurrent.LinkedBlockingDeque.toArray() method returns an array containing all the elements in the deque in proper sequence i.e. from first to last. The returned array will be safe as a new array is created (hence new memory is allocated). Thus the caller is free to modify the array. It acts as a bridge between array-based and collection-based APIs.
Syntax
public Object[] toArray()
Parameters:It does not take in any parameter.
Return Value:It returns an array containing all the elements in the deque.
Below examples illustrates the LinkedBlockingDeque.toArray() method:
Example 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));
}
}
Output:LinkedBlockingDeque: [7855642, 35658786, 5278367, 74381793] Returned Array: [7855642, 35658786, 5278367, 74381793]
-
toArray(T[])
The toArray(arr[]) method method of LinkedBlockingDeque class in Java is used to form an array of the same elements as that of the LinkedBlockingDeque. It returns an array containing all of the elements in this LinkedBlockingDeque in the correct order; the run-time type of the returned array is that of the specified array. If the LinkedBlockingDeque fits in the specified array, it is returned therein. Otherwise, a new array is allocated with the run time type of the specified array and the size of this LinkedBlockingDeque.
If the LinkedBlockingDeque fits in the specified array with room to spare (i.e., the array has more elements than the LinkedBlockingDeque), the element in the array immediately following the end of the LinkedBlockingDeque is set to null. (This is useful in determining the length of the LinkedBlockingDeque only if the caller knows that the LinkedBlockingDeque does not contain any null elements.)Syntax:
public <T> T[] toArray(T[] a)
Parameters: The method accepts one parameter arr[] which is the array into which the elements of the LinkedBlockingDeque are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose.
Return Value: The method returns an array containing the elements similar to the LinkedBlockingDeque.
Exception: The method might throw two types of exception:
- ArrayStoreException: When the mentioned array is of the different type and is not able to compare with the elements mentioned in the LinkedBlockingDeque.
- NullPointerException: If the array is Null, then this exception is thrown.
Below program illustrates the working of the LinkedBlockingDeque.toArray(arr[]) method.
Program 1: When array is of the size of 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));
}
}
Output:The LinkedBlockingDeque: [Welcome, To, Geeks, For, Geeks] Returned Array: [Welcome, To, Geeks, For, Geeks]