當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。