集合接口的 toArray() 方法返回一个包含集合中所有元素的数组。
第二个语法返回一个包含此集合中所有元素的数组,其中返回数组的运行时类型是指定数组的运行时类型。
用法
public Object[] toArray()
public<T> T[] toArray(T[] a)
参数
NA
参数 'a' 表示将存储队列元素的数组。
返回值
toArray() 方法返回一个包含此队列所有元素的数组。
抛出
toArray() 方法抛出:
ArrayStoreException - 如果指定数组的运行时类型不是此集合中每个元素的运行时类型的超类型。
NullPointerException- 如果定义的数组为空。
例子1
import java.util.Collection;
import java.util.concurrent.ConcurrentLinkedQueue;
public class JavaCollectionToArrayExample1 {
static int j=1;
public static void main(String[] args) {
Collection<Character> collection = new ConcurrentLinkedQueue();
for (char i='A';i<='Z';i++) {
collection.add(i);
}
System.out.print("Values:");
Object[] a=collection.toArray();
System.out.println();
for(int i=0 ;i<a.length;i++){
System.out.println("Element "+ j++ +":"+ a[i]);
}
}
}
输出:
Values: Element 1:A Element 2:B Element 3:C Element 4:D Element 5:E Element 6:F Element 7:G Element 8:H Element 9:I Element 10:J Element 11:K Element 12:L Element 13:M Element 14:N Element 15:O Element 16:P Element 17:Q Element 18:R Element 19:S Element 20:T Element 21:U Element 22:V Element 23:W Element 24:X Element 25:Y Element 26:Z
例子2
import java.util.Collection;
import java.util.concurrent.ConcurrentLinkedQueue;
public class JavaCollectcionToArrayExample2 {
public static void main(String[] args) {
Collection<Integer> queue = new ConcurrentLinkedQueue();
for (int i=1;i<=10;i++) {
queue.add(i);
}
Object[] a = queue.toArray();
for (int i = 0; i <a.length; i++) {
System.out.print(a[i] + " ");
if (a[i] %2==0) {
System.out.println(a[i]+" is an even number.");
}
}
}
}
输出:
Error:(15, 18) java:bad operand types for binary operator '%' first type: java.lang.Object second type:int
运算符 '%' 不能应用于 java.lang.Object。如果这样做,它会给你一个错误。
例子3
本例是 above-described 程序的解决方案。
import java.util.Collection;
import java.util.concurrent.ConcurrentLinkedQueue;
public class JavaCollectionToArrayExample3 {
public static void main(String[] args) {
Collection<Integer>collection= new ConcurrentLinkedQueue();
System.out.println("List of even numbers in our collection.");
for (int i=1;i<=10;i++) {
collection.add(i);
}
Integer[] a = new Integer[5];
Integer[] b = collection.toArray(a);
for (int i = 0; i <b.length; i++) {
if (b[i] %2==0) {
System.out.println(b[i]+" ");
}
}
}
}
输出:
List of even numbers in our collection. 2 4 6 8 10
示例 4
import java.util.Collection;
import java.util.concurrent.ConcurrentLinkedQueue;
public class JavaCollectionToArrayExample4 {
public static void main(String[] args) {
Collection<String> collection= new ConcurrentLinkedQueue();
collection.add("Reema");
collection.add("Rahul");
collection.add("Rita");
collection.add("Ramesh");
Object[] a=collection.toArray(null);
for(int i=0 ;i<a.length;i++){
System.out.println("Element:"+a[i]);
}
}
}
输出:
Exception in thread "main" java.lang.NullPointerException at java.util.concurrent.ConcurrentLinkedQueue.toArray(ConcurrentLinkedQueue.java:638) at com.javaTpoint.JavaCollectionToArrayExample4.main(JavaCollectionToArrayExample4.java:12)
相关用法
- Java Collection retainAll()用法及代码示例
- Java Collection addAll()用法及代码示例
- Java Collection size()用法及代码示例
- Java Collection add()用法及代码示例
- Java Collection removeAll()用法及代码示例
- Java Collection remove()用法及代码示例
- Java Collection equals()用法及代码示例
- Java Collection hashCode()用法及代码示例
- Java Collection contains()用法及代码示例
- Java Collection spliterator()用法及代码示例
- Java Collection containsAll()用法及代码示例
- Java Collection removeIf()用法及代码示例
- Java Collection clear()用法及代码示例
- Java Collection isEmpty()用法及代码示例
- Java Collection iterator()用法及代码示例
- Java Collections synchronizedSortedSet()用法及代码示例
- Java Collections checkedQueue()用法及代码示例
- Java Collections unmodifiableNavigableSet()用法及代码示例
- Java Collections checkedSet()用法及代码示例
- Java Collections copy()用法及代码示例
注:本文由纯净天空筛选整理自 Java Collection toArray() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。