Java 程序实现链表和数组互转

在您了解示例之前,请确保您首先访问以下教程,

示例 1:将 LinkedList 转换为 Array

import java.util.LinkedList;

public class Main {
  public static void main(String[] args) {
    LinkedList<String> languages= new LinkedList<>();

    // Add elements in the linked list
    languages.add("Java");
    languages.add("Python");
    languages.add("JavaScript");
    System.out.println("LinkedList: " + languages);

    // Create a new array of String type
    String[] arr = new String[languages.size()];

    // Convert LinkedList into the string array
    languages.toArray(arr);
    System.out.print("Array: ");
    for(String item:arr) {
      System.out.print(item+", ");
    }
  }
}

输出

LinkedList: [Java, Python, JavaScript]
Array: Java, Python, JavaScript,

在上面的例子中,我们创建了一个名为 languages 的链表. 注意这一行,

languages.toArray(arr);

这里, toArray() 方法将链表 languages 转换成一个数组。并将其存储在字符串数组 arr 中.

注意:如果我们不向该 toArray() 方法传递任何参数,该方法将返回该 Object 类型的数组。

示例 2:将数组转换为 LinkedList

import java.util.Arrays;
import java.util.LinkedList;

public class Main {
  public static void main(String[] args) {

    // create an array
    String[] array = {"Java", "Python", "C"};
    System.out.println("Array: " + Arrays.toString(array));

    // convert array to a linked list
    LinkedList<String> languages= new LinkedList<>(Arrays.asList(array));

    System.out.println("LinkedList: " + languages);

  }
}

输出

Array: [Java, Python, C]
LinkedList: [Java, Python, C]

在上面的例子中,我们创建了一个 String 类型的数组。注意这一行,

Arrays.asList(array)

在这里, Arrays 类的 asList() 方法将指定的数组转换为链表。