原文: https://beginnersbook.com/2014/07/how-to-convert-linkedlist-to-array-using-toarray-in-java/

LinkedList转换为数组非常简单。您可以将任何类型的LinkedList(例如doubleStringint等)转换为相同类型的数组。在本教程中,我们将看到此类转换的示例。

示例

这里我们将LinkedList的字符串转换为String数组(LinkedListString[])。在程序结束时,我们已经提到了如何将任何其他类型的列表(如doubleint等)转换为相应的数组类型。

  1. import java.util.LinkedList;
  2. public class ConvertExample {
  3. public static void main(String[] args) {
  4. //Creating and populating LinkedList
  5. LinkedList<String> linkedlist = new LinkedList<String>();
  6. linkedlist.add("Harry");
  7. linkedlist.add("Maddy");
  8. linkedlist.add("Chetan");
  9. linkedlist.add("Chauhan");
  10. linkedlist.add("Singh");
  11. //Converting LinkedList to Array
  12. String[] array = linkedlist.toArray(new String[linkedlist.size()]);
  13. //Displaying Array content
  14. System.out.println("Array Elements:");
  15. for (int i = 0; i < array.length; i++)
  16. {
  17. System.out.println(array[i]);
  18. }
  19. }
  20. }

输出:

  1. Array Elements:
  2. Harry
  3. Maddy
  4. Chetan
  5. Chauhan
  6. Singh

正如您所看到的,我们在LinkedList中拥有与数组中相同的元素。

注意:

在上面的例子中,我们采用了StringLinkedList,但是如果你有一个不同类型的LinkedList,那么你可以像这样改变转换逻辑。

对于LinkedList转换逻辑将是:
Double[] array = linkedlist.toArray(new Double[linkedlist.size()]);

类似地,LinkedList转换逻辑将是:
Integer[] array = linkedlist.toArray(new Integer[linkedlist.size()]);

更多关于 Javadoc 的 toArray()方法):

public T[] toArray(T[] a):它以适当的顺序返回一个包含该列表中所有元素的数组(从第一个元素到最后一个元素);返回数组的运行时类型是指定数组的运行时类型。如果列表适合指定的数组,则返回其中。否则,将使用指定数组的运行时类型和此列表的大小分配新数组。

如果列表适合指定的数组,并且有空余空间(即,数组的元素多于列表),则紧跟在列表末尾之后的数组中的元素将设置为null。 (仅当调用者知道列表不包含任何null元素时,这在确定列表长度时很有用。)