Skip to content

Latest commit

 

History

History
65 lines (46 loc) · 2.73 KB

File metadata and controls

65 lines (46 loc) · 2.73 KB

如何使用 Java 中的toArray()LinkedList转换为数组

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

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

示例

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

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中拥有与数组中相同的元素。

注意:

在上面的例子中,我们采用了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元素时,这在确定列表长度时很有用。)