Java中将数组转换为LinkedList
数组是连续的内存分配,而 LinkedList 是随机放置在内存中的元素块,这些元素链接在一起,其中一个块保存内存中另一个块的地址。有时根据需求或由于内存中的空间问题,在企业世界中有更大的代码块,有必要将数组转换为列表。这里演示了数组到 LinkedList 的转换。
方法:
- 使用 Collections 类的asList()方法
- 使用 Collections 类的addAll()方法
方法一:使用Collections类的asList()方法
此方法与 Collection.toArray() 结合,充当基于数组和基于集合的 API 之间的桥梁。返回的列表被序列化并实现了 RandomAccess。这在 O(1) 时间内运行。
句法:
public static List asList(T... a) ;
参数:此方法采用需要转换为列表的数组 a。这里参数数组的工作原理类似于对象数组参数。
方法:
- 创建一个数组。
- 将数组转换为列表。
- 使用构造函数从 List 创建 LinkedList 。
例子
Java
// Java Program to convert Array to LinkedList
// Importing array, List & LinkedList classes from
// java.util package
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
// Class
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Ccreate a string Array
String[] strArr = { "A", "B", "C", "D", "E" };
// Convert array to list
List list = Arrays.asList(strArr);
// Create a LinkedList and
// pass List in LinkedList constructor
LinkedList linkedList
= new LinkedList(list);
// Display and print all elements of LinkedList
System.out.println("LinkedList of above array : "
+ linkedList);
}
}
Java
// Java Program to convert Array to LinkedList
// Importing array, List & LinkedList, Collections classes
// from java.util package
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
// Class
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Create an Array
// here string type
String[] strArr = { "G", "E", "E", "K", "S" };
// Create an empty LinkedList
LinkedList linkedList
= new LinkedList();
// Append all elements of array to linked list
// using Collections.addAll() method
Collections.addAll(linkedList, strArr);
// Print the above LinkedList received
System.out.println("Converted LinkeddList : "+linkedList);
}
}
输出
LinkedList of above array : [A, B, C, D, E]
方法二:使用Collections类的addAll()方法
此方法用于将作为参数传递给此函数的集合中的所有元素附加到列表的末尾,同时记住集合迭代器的返回顺序。
句法:
boolean addAll(Collection C) ;
参数:参数C是ArrayList的集合。它是需要将其元素附加到列表末尾的集合。
返回值:如果至少执行了一个附加操作,则该方法返回真,否则返回假。
方法:
- 创建一个数组。
- 创建一个空的 LinkedList。
- 使用以两个对象作为参数的集合类的addAll()方法。
- 第一个对象作为要转换的位置
- 要转换的第二个对象。
例子
Java
// Java Program to convert Array to LinkedList
// Importing array, List & LinkedList, Collections classes
// from java.util package
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
// Class
public class GFG {
// Main driver method
public static void main(String[] args)
{
// Create an Array
// here string type
String[] strArr = { "G", "E", "E", "K", "S" };
// Create an empty LinkedList
LinkedList linkedList
= new LinkedList();
// Append all elements of array to linked list
// using Collections.addAll() method
Collections.addAll(linkedList, strArr);
// Print the above LinkedList received
System.out.println("Converted LinkeddList : "+linkedList);
}
}
输出
Converted LinkeddList : [G, E, E, K, S]