Java 如何把LinkedList转换为Array
给定一个Java中的LinkedList,任务是将这个LinkedList转换为数组。
例子
Input: LinkedList: ['G', 'e', 'e', 'k', 's']
Output: Array: ['G', 'e', 'e', 'k', 's']
Input: LinkedList: [1, 2, 3, 4, 5]
Output: Array: [1, 2, 3, 4, 5]
建议。请先在{IDE}上尝试你的方法,然后再继续解决。
步骤
- 获取LinkedList
- 使用toArray()方法将LinkedList转换为Object数组。
- 使用Arrays.copyOf()方法将对象数组转换为所需类型的数组。
- 返回打印的数组
下面是上述方法的实现。
// Java program to convert
// LinkedList to Array
import java.util.*;
public class GFG {
// Function to convert LinkedList to Array
public static <T> Object[] convertLinkedListToArray(LinkedList<T> linkedList)
{
// Converting LinkedList to Array
Object[] array = linkedList.toArray();
return array;
}
public static void main(String args[])
{
// Creating linked list
LinkedList<String>
linkedList = new LinkedList<String>();
// Adding elements to the linked list
linkedList.add("G");
linkedList.add("e");
linkedList.add("e");
linkedList.add("k");
linkedList.add("s");
// Print the LinkedList
System.out.println("Linked list: "
+ linkedList);
// Converting LinkedList to Object Array
Object[] objArray = convertLinkedListToArray(linkedList);
// Convert Object[] to String[]
String[] array = Arrays.copyOf(objArray,
objArray.length,
String[].class);
// Print the String Array
System.out.println("Array: "
+ Arrays.toString(array));
}
}
输出
Linked list: [G, e, e, k, s]
Array: [G, e, e, k, s]
时间复杂度:
将关联列表转换为数组需要 O ( n) 时间。每个元素都必须被复制。插入或删除一个元素需要O(m)的摊销时间,其中m是插入/删除索引后的元素数量。
极客教程