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()
方法将指定的数组转换为链表。