如何在Java中将LinkedList转换为数组?

LinkedList类的toArray()方法将当前的Linked List对象转换为对象类型的数组并返回它。此数组按正确的顺序包含此列表中的所有元素(从第一个元素到最后一个元素)。这充当了基于数组的API和基于集合的API之间的桥梁。

因此,要将LinkedList转换为数组-

  • 实例化LinkedList类。

  • 使用add()方法填充它。

  • 在上面创建的链接列表上调用toArray()方法,并检索对象数组。

  • 将对象数组的每个元素转换为字符串。

示例

import java.util.Arrays;
import java.util.LinkedList;
public class LinkedListToArray {
   public static void main(String[] args) {
      LinkedList <String> list = new LinkedList<String>();
      //实例化ArrayList对象
      list.add("JavaFX");
      list.add("Java");
      list.add("WebGL");
      list.add("OpenCV");
      list.add("OpenNLP");
      list.add("JOGL");
      list.add("Hadoop");
      list.add("HBase");
      list.add("Flume");
      list.add("Mahout");
      list.add("Impala");
      Object[] objectAarray = list.toArray();
      int length = objectAarray.length;;
      String [] stringArray = new String[length];
      for(int i =0; i < length; i++) {
         stringArray[i] = (String) objectAarray[i];
      }
      System.out.println("Contents of the array: \n"+Arrays.toString(stringArray));
   }
}

输出结果

Contents of the array:
[JavaFX, Java, WebGL, OpenCV, OpenNLP, JOGL, Hadoop, HBase, Flume, Mahout, Impala]

您还可以通过将新的String [0]传递给toArray()方法来直接获取String数组。

示例

import java.util.Arrays;
import java.util.LinkedList;
public class LinkedListToArray {
   public static void main(String[] args) {
      LinkedList <String> list = new LinkedList<String>();
      //实例化ArrayList对象
      list.add("JavaFX");
      list.add("Java");
      list.add("WebGL");
      list.add("OpenCV");
      list.add("OpenNLP");
      list.add("JOGL");
      list.add("Hadoop");
      list.add("HBase");
      list.add("Flume");
      list.add("Mahout");
      list.add("Impala");
      String[] stringArray = list.toArray(new String[0]);
      System.out.println("Contents of the array: \n"+Arrays.toString(stringArray));
   }
}

输出结果

Contents of the array:
[JavaFX, Java, WebGL, OpenCV, OpenNLP, JOGL, Hadoop, HBase, Flume, Mahout, Impala]