Java中的PriorityBlockingQueue toArray()方法

toArray()

这个 托雷 PriorityBlockingQueue方法用于按正确顺序创建一个数组,该数组的元素与PriorityBlockingQueue的元素相同。实际上,这个方法将PriorityBlockingQueue中的所有元素复制到一个新数组中。此方法充当数组和PriorityBlockingQueue之间的桥梁。

null

语法:

public Object[] toArray()

返回值: 此方法返回一个数组,其中包含PriorityBlockingQueue的元素。

下面的程序演示了PriorityBlockingQueue类的toArray()方法:

例1: 程序演示PriorityBlockingQueue上的toArray()方法,以从包含数字的PriorityBlockingQueue创建数字数组。

JAVA

// Java Program Demonstrate toArray()
// method of PriorityBlockingQueue
import java.util.concurrent.PriorityBlockingQueue;
public class GFG {
public static void main(String[] args)
{
// define capacity of PriorityBlockingQueue
int capacityOfQueue = 5 ;
// create object of PriorityBlockingQueue
PriorityBlockingQueue<Integer> PrioQueue
= new PriorityBlockingQueue<Integer>(capacityOfQueue);
// Add numbers to PriorityBlockingQueue
PrioQueue.offer( 35658786 );
PrioQueue.offer( 5278367 );
PrioQueue.offer( 74381793 );
PrioQueue.offer( 87625142 );
// create an array of elements of PriorityBlockingQueue
Object[] array = PrioQueue.toArray();
// print elements of array
System.out.println( "Array Contains:" );
for (Object i : array) {
System.out.print(i + " " );
}
}
}


输出:

Array Contains:5278367 35658786 74381793 87625142

例2: 程序演示PriorityBlockingQueue上的toArray()方法,以从包含字符串值的PriorityBlockingQueue创建字符串数组。

JAVA

// Java Program Demonstrate toArray()
// method of PriorityBlockingQueue
import java.util.concurrent.PriorityBlockingQueue;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// define capacity of PriorityBlockingQueue
int capacityOfQueue = 5 ;
// create object of PriorityBlockingQueue which contains
// name of students
PriorityBlockingQueue<String> names
= new PriorityBlockingQueue<String>(capacityOfQueue);
// Add names of students of girls college
names.offer( "Joyita" );
names.offer( "Bristi" );
names.offer( "Riya" );
// Create a array by calling toArray() method
Object[] array = names.toArray();
// Print List of names
System.out.println( "Queue is " + names);
// Print elements of array
System.out.println( "The array created by toArray() is:" );
for (Object i : array) {
System.out.println(i + " " );
}
}
}


输出:

Queue is [Bristi, Joyita, Riya]The array created by toArray() is:Bristi Joyita Riya

toArray(T[]a)

toArray(T[]a)方法 优先阻塞队列 用于按正确的顺序返回包含与此PriorityBlockingQueue相同元素的数组。此方法与toArray()仅在一个条件上不同。如果PriorityBlockingQueue大小小于或等于传递的数组,则返回数组的类型与参数中传递的数组的类型相同。否则,将使用与指定数组相同的类型分配一个新数组,并且该数组的大小等于此队列的大小。此方法充当数组和集合之间的桥梁。

语法:

public <T> T[] toArray(T[] a)

参数: 这种方法需要一段时间 大堆 作为参数,队列的所有元素都将被复制到其中(如果队列足够大)。否则,将为该对象分配一个相同运行时类型的新数组。

返回值: 此方法返回一个包含此队列中所有元素的数组。

例外 此方法引发以下异常:

  • ArrayStoreException: 当传递的数组与PriorityBlockingQueue的元素类型不同时。
  • NullPointerException: 如果传递的数组为空。

下面的程序演示了PriorityBlockingQueue类的toArray(T[]a)方法:

例1: 在PriorityBlockingQueue上演示toArray(T[]a)方法的程序。

JAVA

// Java Program Demonstrate toArray(T[] a)
// method of PriorityBlockingQueue
import java.util.concurrent.PriorityBlockingQueue;
import java.util.concurrent.TimeUnit;
public class GFG {
public static void main(String[] args)
throws InterruptedException
{
// define capacity of PriorityBlockingQueue
int capacityOfQueue = 3 ;
// create object of PriorityBlockingQueue
PriorityBlockingQueue<String> PrioQueue
= new PriorityBlockingQueue<String>(capacityOfQueue);
// Add names of students of girls college
PrioQueue.offer( "Joyi" );
PrioQueue.offer( "Rani" );
PrioQueue.offer( "Riya" );
// Creating the array
String[] array = new String[capacityOfQueue];
// Calling toArray(T[] a) method
Object[] ReturnArray = PrioQueue.toArray(array);
// Print queue
System.out.println( "Queue is " + PrioQueue);
// Print elements of array passed as parameter
System.out.println();
System.out.println( "The array passed to toArray() is:" );
for (Object i : array) {
System.out.println(i);
}
// Print elements of array returned by method toArray()
System.out.println();
System.out.println( "The array returned by toArray() is:" );
for (Object i : ReturnArray) {
System.out.println(i);
}
}
}


输出

Queue is [Joyi, Rani, Riya]The array passed to toArray() is:JoyiRaniRiyaThe array returned by toArray() is:JoyiRaniRiya

例2: 该程序演示了PriorityBlockingQueue的toArray(T[]a)方法引发的异常。

JAVA

// Java Program Demonstrate toArray(T[] a)
// method of PriorityBlockingQueue
import java.util.concurrent.PriorityBlockingQueue;
import java.util.concurrent.TimeUnit;
public class GFG {
public static void main(String[] args)
throws InterruptedException
{
// define capacity of PriorityBlockingQueue
int capacityOfQueue = 3 ;
// create object of PriorityBlockingQueue
PriorityBlockingQueue<String> PrioQueue
= new PriorityBlockingQueue<String>(capacityOfQueue);
// Add names of students of girls college
PrioQueue.offer( "Joyi" );
PrioQueue.offer( "Rani" );
PrioQueue.offer( "Riya" );
// Creating the array with null value
String[] array = null ;
try {
// Calling toArray(T[] a) method
Object[] ReturnArray = PrioQueue.toArray(array);
}
catch (Exception e) {
System.out.println( "Exception thrown:" + e);
}
}
}


输出:

Exception thrown:java.lang.NullPointerException

参考:

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享