Java中LinkedBlockingDeque toArray()方法的使用示例
toArray()
Java.util.concurrent.LinkedBlockingDeque.toArray() 方法返回一个数组,该数组按顺序包含所有 deque 中的元素,即从第一个到最后一个。返回的数组是安全的,因为创建了一个新的数组(因此分配了新的内存)。因此,调用者可以自由地修改该数组。它作为基于数组和基于集合的 API 之间的桥梁。
语法
public Object[] toArray()
参数:不接受任何参数。
返回值:返回包含 deque 中所有元素的数组。
下面的示例说明了 LinkedBlockingDeque.toArray() 方法:
示例一:
//Java程序演示LinkedBlockingDeque的toArray()
//方法
import java.util.concurrent.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
throws IllegalStateException
{
//创建 LinkedBlockingDeque 的对象
LinkedBlockingDeque LBD
= new LinkedBlockingDeque ();
//添加数字到 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));
}
}
输出:
LinkedBlockingDeque: [7855642, 35658786, 5278367, 74381793]
Returned Array: [7855642, 35658786, 5278367, 74381793]
toArray(T[])
Java 的 LinkedBlockingDeque 类中的 toArray(arr[]) 方法用于形成与 LinkedBlockingDeque 中相同元素的数组。它返回一个数组,该数组包含此 LinkedBlockingDeque 中的所有元素,以正确的顺序; 返回的数组的运行时类型是指定数组的类型。如果 LinkedBlockingDeque 可以适应指定的数组,则返回其中。否则,将为此目的分配具有指定数组的运行时类型和此 LinkedBlockingDeque 的大小的新数组。
如果 LinkedBlockingDeque 可以适合指定的数组并有剩余的空间(即,数组具有比 LinkedBlockingDeque 更多的元素),则在 LinkedBlockingDeque 结束后立即设置数组中的元素为空。 (如果调用者知道 LinkedBlockingDeque 不包含任何空元素,则此方法仅用于确定 LinkedBlockingDeque 的长度。)
语法:
public <T> T[] toArray(T[] a)
参数: 方法接受一个参数 arr[],该参数是要将 LinkedBlockingDeque 的元素存储在其中的数组,如果它足够大;否则,为此目的将为该数组分配相同运行时类型的新数组。
返回值: 方法返回包含类似于 LinkedBlockingDeque 的元素的数组。
异常: 该方法可能会引发两种类型的异常:
- ArrayStoreException :当所述数组为不同类型并且无法与 LinkedBlockingDeque 中提到的元素进行比较时。
- NullPointerException :如果数组为空,则抛出此异常。
下面的程序说明了 LinkedBlockingDeque.toArray(arr[]) 方法的工作方式。
程序1:当数组的大小为LinkedBlockingDeque
// Java代码示例toArray(arr []
import java.util.concurrent.*;
import java.util.*;
public class LinkedBlockingDequeDemo {
public static void main(String args[])
{
// 创建空的LinkedBlockingDeque
LinkedBlockingDeque<String> LBD
= new LinkedBlockingDeque<String>();
// 使用add()方法将元素添加到LinkedBlockingDeque中
LBD.add(“欢迎”);
LBD.add(“到”);
LBD.add(“极客”);
LBD.add(“对于”);
LBD.add(“极客”);
// 显示LinkedBlockingDeque
System.out.println(“ LinkedBlockingDeque:“
+ LBD);
// 创建数组并使用toArray()
String [] arr = new String [5];
arr = LBD.toArray(arr);
// 显示arr
System.out.println(“返回的数组:”
+ Arrays.toString(arr));
}
}
输出:
LinkedBlockingDeque:[欢迎,到,极客,对于,极客]
返回的数组:[欢迎,到,极客,对于,极客]
极客教程