Java的CopyOnWriteArraySet toArray()方法示例

Java的CopyOnWriteArraySet toArray()方法示例

  • ### toArray()

Java.util.concurrent.CopyOnWriteArraySet.toArray() 方法返回包含集合中所有元素的数组,顺序正确,即从第一个到最后一个元素。返回的数组是安全的,因为创建了一个新的数组(因此分配了新的内存)。因此,调用者可以自由修改数组。它作为基于数组和基于集合的 API 之间的桥梁。

语法

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结束后紧接在其后的元素将设置为null。(仅在调用者知道CopyOnWriteArraySet不包含任何null元素时,此项对于确定CopyOnWriteArraySet的长度很有用。)

语法:

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

参数: 该方法接受一个参数 arr[],该参数是 CopyOnWriteArraySet 元素将要存储的数组,如果它足够大,则在此目的地中返回;否则,为此目的地分配具有相同的运行时类型的新数组。

返回值: 该方法返回一个包含与 CopyOnWriteArraySet 类似元素的数组。

异常: 该方法可能会抛出两种类型的异常:

  • ArrayStoreException :当所提到的数组是不同类型且无法与CopyOnWriteArraySet中提到的元素进行比较时。
  • NullPointerException :如果数组为空,则会抛出此异常。

下面的程序说明了CopyOnWriteArraySet.toArray(arr[])方法的工作原理。

程序 1: 当数组大小为CopyOnWriteArraySet时

// Java代码,用于说明toArray(arr[])
import java.util.concurrent.*;
import java.util.*;

public class CopyOnWriteArraySetDemo {
    public static void main(String args[])
    {
        // 创建一个空的CopyOnWriteArraySet
        CopyOnWriteArraySet set
            = new CopyOnWriteArraySet();

        // 使用add()方法向CopyOnWriteArraySet添加元素
        set.add("Welcome");
        set.add("To");
        set.add("Geeks");
        set.add("For");
        set.add("Geeks");

        // 显示CopyOnWriteArraySet
        System.out.println("The CopyOnWriteArraySet: " 
                             + set);

        // 创建数组并使用toArray()
        String[] arr = new String[5];
        arr = set.toArray(arr);

        // 显示arr
        System.out.println("返回的数组: " 
                             + Arrays.toString(arr));
    }
}

输出:

The CopyOnWriteArraySet: [Welcome, To, Geeks, For]
Returned Array: [Welcome, To, Geeks, For, null]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程