将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 LinkedList
LinkedList<String> linkedlist = new LinkedList<String>();
linkedlist.add("Harry");
linkedlist.add("Maddy");
linkedlist.add("Chetan");
linkedlist.add("Chauhan");
linkedlist.add("Singh");
//Converting LinkedList to Array
String[] array = linkedlist.toArray(new String[linkedlist.size()]);
//Displaying Array content
System.out.println("Array Elements:");
for (int i = 0; i < array.length; i++)
{
System.out.println(array[i]);
}
}
}
输出:
Array Elements:
Harry
Maddy
Chetan
Chauhan
Singh
正如您所看到的,我们在LinkedList
中拥有与数组中相同的元素。
注意:
在上面的例子中,我们采用了String
的LinkedList
,但是如果你有一个不同类型的LinkedList
,那么你可以像这样改变转换逻辑。
对于LinkedList
转换逻辑将是:
Double[] array = linkedlist.toArray(new Double[linkedlist.size()]);
类似地,LinkedList
转换逻辑将是:
Integer[] array = linkedlist.toArray(new Integer[linkedlist.size()]);
public T[] toArray(T[] a)
:它以适当的顺序返回一个包含该列表中所有元素的数组(从第一个元素到最后一个元素);返回数组的运行时类型是指定数组的运行时类型。如果列表适合指定的数组,则返回其中。否则,将使用指定数组的运行时类型和此列表的大小分配新数组。
如果列表适合指定的数组,并且有空余空间(即,数组的元素多于列表),则紧跟在列表末尾之后的数组中的元素将设置为null
。 (仅当调用者知道列表不包含任何null
元素时,这在确定列表长度时很有用。)