📜  Java中的 LinkedList toArray() 方法与示例

📅  最后修改于: 2022-05-13 01:54:29.779000             🧑  作者: Mango

Java中的 LinkedList toArray() 方法与示例

1:使用 toArray()

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

句法

public Object[] toArray()

参数:不接受任何参数。

返回值:它返回一个包含列表中所有元素的数组。

下面的示例说明了 LinkedList.toArray() 方法:

示例 1:

// Java Program Demonstrate toArray()
// method of LinkedList
  
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
        throws IllegalStateException
    {
  
        // create object of LinkedList
        LinkedList list
            = new LinkedList();
  
        // Add numbers to end of LinkedList
        list.add(7855642);
        list.add(35658786);
        list.add(5278367);
        list.add(74381793);
  
        System.out.println("LinkedList: "
                           + list);
  
        Object[] a = list.toArray();
        System.out.println("Returned Array: "
                           + Arrays.toString(a));
    }
}
输出:
LinkedList: [7855642, 35658786, 5278367, 74381793]
Returned Array: [7855642, 35658786, 5278367, 74381793]

2:使用 toArray(T[])

Java中LinkedList类toArray(arr[])方法方法用于组成与LinkedList相同元素的数组。它以正确的顺序返回一个包含此 LinkedList 中所有元素的数组;返回数组的运行时类型是指定数组的类型。如果 LinkedList 适合指定的数组,则在其中返回。否则,使用指定数组的运行时类型和此 LinkedList 的大小分配一个新数组。
如果 LinkedList 适合指定的数组并有剩余空间(即,数组的元素比 LinkedList 多),则数组中紧跟 LinkedList 末尾的元素设置为 null。 (仅当调用者知道 LinkedList 不包含任何空元素时,这对于确定 LinkedList 的长度很有用。)

public  T[] toArray(T[] a)

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

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

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

  • ArrayStoreException :当提到的数组属于不同类型并且无法与 LinkedList 中提到的元素进行比较时。
  • NullPointerException :如果数组为 Null,则抛出此异常。

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

方案一:当数组大小为 LinkedList 时

// Java code to illustrate toArray(arr[])
  
import java.util.*;
  
public class LinkedListDemo {
    public static void main(String args[])
    {
        // Creating an empty LinkedList
        LinkedList list
            = new LinkedList();
  
        // Use add() method to add
        // elements into the LinkedList
        list.add("Welcome");
        list.add("To");
        list.add("Geeks");
        list.add("For");
        list.add("Geeks");
  
        // Displaying the LinkedList
        System.out.println("The LinkedList: "
                           + list);
  
        // Creating the array and using toArray()
        String[] arr = new String[5];
        arr = list.toArray(arr);
  
        // Displaying arr
        System.out.println("Returned Array: "
                           + Arrays.toString(arr));
    }
}
输出:
The LinkedList: [Welcome, To, Geeks, For, Geeks]
Returned Array: [Welcome, To, Geeks, For, Geeks]