Java 把数组转换为linkedlist
数组是连续的内存分配,而LinkedList是随机放置在内存中的元素块,它们被链接在一起,其中一个块在内存中持有另一个块的地址。有时,根据要求或由于内存中的空间问题,在企业中存在较大的代码块,因此有必要将数组转换为List。这里演示了数组到LinkedList的转换。
方法:
1.使用集合类的asList()方法
2.使用集合类的addAll()方法
方法1: 使用集合类的asList()方法
该方法与Collection.toArray()相结合,充当基于数组和基于集合的API之间的桥梁。返回的列表被序列化并实现了RandomAccess。这在O(1)时间内运行。
语法:
public static List asList(T... a) ;
参数: 该方法接收需要转换为List的数组a。这里的参数数组的工作原理类似于对象数组参数。
步骤:
1.创建一个数组。
2.将数组转换为列表。
3.使用构造函数从列表中创建LinkedList。
示例
// 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)
{
// Create 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]
方法2: 使用集合类的addAll()方法
该方法用于将作为参数传递给该函数的集合中的所有元素追加到一个列表的末尾,同时牢记集合迭代器的返回顺序。
语法:
boolean addAll(Collection C) ;
参数: 参数C是一个ArrayList的集合。它是一个集合,其元素需要被附加在列表的末尾。
回报值: 如果至少有一个append的动作被执行,该方法返回true,否则返回false。
步骤:
- 创建一个数组。
- 创建一个空的LinkedList。
- 使用集合类的addAll()方法,它需要两个对象作为参数。
- 第一个对象是要转换的地方
- 第二个要转换的对象。
示例
// 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 LinkedList : "+linkedList);
}
}
输出
Converted LinkedList : [G, E, E, K, S]