Java CopyOnWriteArraySet toArray()方法及示例
- Java.util.concurrent.CopyOnWriteArraySet.toArray()方法返回一个数组,该数组中的所有元素都按适当的顺序排列,即从头到尾。返回的数组将是安全的,因为一个新的数组被创建(因此新的内存被分配)。因此,调用者可以自由地修改该数组。它是基于数组和基于集合的API之间的桥梁。toArray()
语法
public Object[] toArray()
参数。它不接受任何参数。
返回值。它返回一个包含集合中所有元素的数组。
下面的例子说明了CopyOnWriteArraySet.toArray()方法。
示例 1:
// Java Program Demonstrate toArray()
// method of CopyOnWriteArraySet
import java.util.concurrent.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
throws IllegalStateException
{
// create object of CopyOnWriteArraySet
CopyOnWriteArraySet<Integer> set
= new CopyOnWriteArraySet<Integer>();
// Add numbers to end of CopyOnWriteArraySet
set.add(7855642);
set.add(35658786);
set.add(5278367);
set.add(74381793);
System.out.println("CopyOnWriteArraySet: "
+ set);
Object[] a = set.toArray();
System.out.println("Returned Array: "
+ Arrays.toString(a));
}
}
输出:
CopyOnWriteArraySet: [7855642, 35658786, 5278367, 74381793]
Returned Array: [7855642, 35658786, 5278367, 74381793]
- toArray(T[])
Java中CopyOnWriteArraySet类的toArray(arr[])方法是用来形成一个与CopyOnWriteArraySet相同元素的数组。它返回一个包含该CopyOnWriteArraySet中所有元素的数组,其顺序是正确的;返回数组的运行时类型是指定数组的类型。如果CopyOnWriteArraySet适合于指定的数组,它将被返回。否则,将分配一个新的数组,其运行时类型为指定的数组,大小为这个CopyOnWriteArraySet。
如果CopyOnWriteArraySet适合于指定的数组并有剩余空间(即,数组的元素比CopyOnWriteArraySet多),那么在CopyOnWriteArraySet结束后,数组中的元素被设置为空。(只有当调用者知道CopyOnWriteArraySet不包含任何空元素时,这对于确定CopyOnWriteArraySet的长度是有用的)。
语法:
public <T> T[] toArray(T[] a)
参数:该方法接受一个参数arr[],如果它足够大的话,就是将CopyOnWriteArraySet的元素存储到数组中;否则,将为此目的分配一个相同运行时类型的新数组。
返回值:该方法返回一个包含类似于CopyOnWriteArraySet的元素的数组。
异常:该方法可能抛出两种类型的异常。
- ArrayStoreException : 当提到的数组是不同的类型并且不能与CopyOnWriteArraySet中提到的元素进行比较。
- NullPointerException : 如果数组是空的,则抛出该异常。
下面的程序说明了CopyOnWriteArraySet.toArray(arr[])方法的工作。
示例1:当数组的大小为CopyOnWriteArraySet的大小时
// Java code to illustrate toArray(arr[])
import java.util.concurrent.*;
import java.util.*;
public class CopyOnWriteArraySetDemo {
public static void main(String args[])
{
// Creating an empty CopyOnWriteArraySet
CopyOnWriteArraySet<String> set
= new CopyOnWriteArraySet<String>();
// Use add() method to add
// elements into the CopyOnWriteArraySet
set.add("Welcome");
set.add("To");
set.add("Geeks");
set.add("For");
set.add("Geeks");
// Displaying the CopyOnWriteArraySet
System.out.println("The CopyOnWriteArraySet: "
+ set);
// Creating the array and using toArray()
String[] arr = new String[5];
arr = set.toArray(arr);
// Displaying arr
System.out.println("Returned Array: "
+ Arrays.toString(arr));
}
}
输出:
The CopyOnWriteArraySet: [Welcome, To, Geeks, For]
Returned Array: [Welcome, To, Geeks, For, null]
极客教程