数组是连续的内存分配,而 LinkedList 是随机放置在内存中的元素块,这些元素链接在一起,其中一个块保存内存中另一个块的地址。有时根据要求或由于内存中的空间问题,在进取的世界中有更大的代码块,有必要将数组转换为列表。这里演示了数组到 LinkedList 的转换。
方法:
- 使用 Collections 类的 asList() 方法
- 使用 Collections 类的 addAll() 方法
方法一:使用 Collections 类的 asList() 方法
此方法与 Collection.toArray() 结合,充当基于数组的 API 和基于集合的 API 之间的桥梁。返回的列表被序列化并实现了 RandomAccess。这在 O(1) 时间内运行。
用法:
public static List asList(T... a) ;
参数:此方法采用需要转换为 List 的数组 a。这里的参数数组的工作方式类似于对象数组参数。
Approach:
- 创建一个数组。
- 将数组转换为列表。
- 使用构造函数从 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<String> list = Arrays.asList(strArr);
// Create a LinkedList and
// pass List in LinkedList constructor
LinkedList<String> linkedList
= new LinkedList<String>(list);
// Display and print all elements of LinkedList
System.out.println("LinkedList of above array:"
+ linkedList);
}
}
输出
LinkedList of above array:[A, B, C, D, E]
方法二:使用 Collections 类的 addAll() 方法
此方法用于将作为参数传递给此函数的集合中的所有元素附加到列表的末尾,同时记住集合迭代器的返回顺序。
用法:
boolean addAll(Collection C) ;
参数:参数 C 是 ArrayList 的集合。它是需要将其元素附加到列表末尾的集合。
返回值:如果至少执行了一个附加操作,则该方法返回 true,否则返回 false。
方法:
- 创建一个数组。
- 创建一个空的 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<String> linkedList
= new LinkedList<String>();
// 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]
相关用法
- Java LinkedList转Array用法及代码示例
- Java ArrayList转LinkedList用法及代码示例
- Java LinkedList转String用法及代码示例
- Java HashMap转LinkedList用法及代码示例
- Java LinkedList removeFirst()用法及代码示例
- Java LinkedList getFirst()用法及代码示例
- Java LinkedList getLast()用法及代码示例
- Java LinkedList clear()用法及代码示例
- Java LinkedList addFirst()用法及代码示例
- Java LinkedList addLast()用法及代码示例
- Java LinkedList addAll()用法及代码示例
- Java LinkedList set()用法及代码示例
- Java LinkedList removeLast()用法及代码示例
- Java LinkedList get()用法及代码示例
- Java LinkedList size()用法及代码示例
- Java LinkedList indexOf()用法及代码示例
注:本文由纯净天空筛选整理自mukulsomukesh大神的英文原创作品 Convert Array to LinkedList in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。