Java中的ArrayBlockingQueue toArray()方法

Java中的ArrayBlockingQueue toArray()方法

ArrayBlockingQueue的toArray()方法: ArrayBlockingQueue类的toArray()方法用于创建一个包含与此ArrayBlockingQueue相同元素的数组,以适当的顺序。基本上,它将所有元素从ArrayBlockingQueue复制到一个新数组中。该方法充当数组和集合之间的桥梁。

语法:

public Object[] toArray()

返回值: 该方法返回包含此队列中所有元素的数组。下面的程序说明了ArrayBlockingQueue类的toArray()方法: 程序1:

//演示如何应用ArrayBlockingQueue类的toArray()方法的程序。
 
import java.util.concurrent.ArrayBlockingQueue;
 
public class GFG {
 
    public static void main(String[] args)
    {
        //定义ArrayBlockingQueue的容量
        int capacity = 5;
 
        //创建ArrayBlockingQueue对象
        ArrayBlockingQueue<Integer> queue = new ArrayBlockingQueue<Integer>(capacity);
 
        //添加5个元素到ArrayBlockingQueue中
        queue.offer(423);
        queue.offer(422);
        queue.offer(421);
        queue.offer(420);
        queue.offer(424);
 
        //通过调用toArray()方法创建数组
        Object[] array = queue.toArray();
 
        //打印队列
        System.out.println("队列是: " + queue);
 
        //打印数组元素
        System.out.println("通过toArray()方法创建的数组是:");
        for (Object i : array) {
            System.out.println(i);
        }
    }
}

输出:

队列是:[423, 422, 421, 420, 424]
通过toArray()方法创建的数组是:
423
422
421
420
424

程序2:

//演示如何应用ArrayBlockingQueue类的toArray()方法的程序。
 
import java.util.concurrent.ArrayBlockingQueue;
 
public class GFG {
 
    public static void main(String[] args)
    {
        //定义ArrayBlockingQueue的容量
        int capacity = 5;
 
        //创建ArrayBlockingQueue对象
        ArrayBlockingQueue<String> queue = new ArrayBlockingQueue<String>(capacity);
 
        //添加5个元素到ArrayBlockingQueue中
        queue.offer("User");
        queue.offer("Employee");
        queue.offer("Manager");
        queue.offer("Analyst");
        queue.offer("HR");
 
        //通过调用toArray()方法创建数组
        Object[] array = queue.toArray();
 
        //打印队列
        System.out.println("队列是: " + queue);
 
        //打印数组元素
        System.out.println("通过toArray()方法创建的数组是:");
        for (Object i : array) {
            System.out.println(i);
        }
    }
}

输出:

队列是:[User, Employee, Manager, Analyst, HR]
通过toArray()方法创建的数组是:
User
Employee
Manager
Analyst
HR

toArray() 方法简介:

toArray() 方法是 ArrayBlockingQueue 类中的一个方法。toArray(T[] a) 方法用于创建一个包含与该 ArrayBlockingQueue 相同元素的数组,顺序正确。 它还具有附加条件。 如果队列大小小于或等于指定数组,则返回的数组类型与参数中指定的数组的类型相同。否则,将分配一个大小与此队列大小相同,并且与指定数组类型相同的新数组。 此方法充当集合和数组之间的桥梁。 假设队列是 ArrayBlockingQueue,并且只包含字符串。 然后,String[] new_arr = queue.toArray(new String[0]); 请注意,toArray(new Object[0]) 与 toArray() 方法相同。

语法:

public  T[] toArray(T[] a)

参数:

方法需要一个参数 arr,如果足够大,则将队列中的所有元素都复制到该数组中;否则将为此分配相同运行时类型的一个新数组。

返回值:

该方法返回包含此队列中所有元素的数组。

异常:

方法可能会抛出以下异常之一:

  • ArrayStoreException: 当传递的数组是不同类型的并且无法与队列元素进行比较时。
  • NullPointerException: 如果数组为空。

参考:

  • https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ArrayBlockingQueue.html#toArray
  • https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ArrayBlockingQueue.html#toArray-T:A

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程