当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Collection toArray()用法及代码示例


集合接口的 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 toArray() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。