原文: https://beginnersbook.com/2014/07/how-to-convert-linkedlist-to-array-using-toarray-in-java/
将LinkedList转换为数组非常简单。您可以将任何类型的LinkedList(例如double,String,int等)转换为相同类型的数组。在本教程中,我们将看到此类转换的示例。
示例
这里我们将LinkedList的字符串转换为String数组(LinkedList到String[])。在程序结束时,我们已经提到了如何将任何其他类型的列表(如double,int等)转换为相应的数组类型。
import java.util.LinkedList;public class ConvertExample {public static void main(String[] args) {//Creating and populating LinkedListLinkedList<String> linkedlist = new LinkedList<String>();linkedlist.add("Harry");linkedlist.add("Maddy");linkedlist.add("Chetan");linkedlist.add("Chauhan");linkedlist.add("Singh");//Converting LinkedList to ArrayString[] array = linkedlist.toArray(new String[linkedlist.size()]);//Displaying Array contentSystem.out.println("Array Elements:");for (int i = 0; i < array.length; i++){System.out.println(array[i]);}}}
输出:
Array Elements:HarryMaddyChetanChauhanSingh
正如您所看到的,我们在LinkedList中拥有与数组中相同的元素。
注意:
在上面的例子中,我们采用了String的LinkedList,但是如果你有一个不同类型的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元素时,这在确定列表长度时很有用。)
