将Java中的数组转换为LinkedList
数组是连续的内存分配,而LinkedList是随机放置在内存中的元素块,这些块在内存中链接在一起,其中一个块在内存中保持另一个块的地址。有时根据要求或由于企业世界中存在较大代码块的空间问题,需要将数组转换为List。这里演示了将数组转换为LinkedList。
方法:
- 使用Collections类的 asList() 方法
- 使用Collections类的 addAll() 方法
方法1: 使用Collections类的 asList() 方法
此方法在数组基础和集合基础API之间充当桥梁,与Collection.toArray()结合使用。返回的列表已序列化并实现了RandomAccess。这需要运行O(1)时间。
语法:
public static List asList(T...a);
参数: 此方法使用要转换为List的数组a。这里的参数数组类似于对象数组参数。
方法:
- 创建一个数组。
- 将数组转换为List。
- 使用构造函数从List创建LinkedList。
示例
// Java程序将数组转换为LinkedList
// 从java.util包导入数组、List和LinkedList类
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
// 类
public class GFG {
// 主驱动程序
public static void main(String[] args)
{
// 创建一个字符串数组
String[] strArr = {"A", "B", "C", "D", "E"};
// 将数组转换为列表
List list = Arrays.asList(strArr);
// 创建LinkedList并将List传递给LinkedList构造函数
LinkedList linkedList = new LinkedList(list);
// 显示和打印LinkedList的所有元素
System.out.println("以上数组的LinkedList:" + linkedList);
}
}
输出
以上数组的LinkedList: [A, B, C, D, E]
方法2: 使用Collections类的 addAll() 方法
此方法用于将参数作为集合传递的所有元素附加到列表末尾,同时考虑按照集合迭代器返回的顺序。
语法:
_boolean_ addAll(Collection C);
参数: 参数 C 是ArrayList的集合。它是需要将其元素附加到列表末尾的集合。
返回值: 如果执行了至少一次附加操作,则方法返回true,否则返回false。
方法:
- 创建一个数组。
- 创建一个空LinkedList。
- 使用collections类的 addAll() 方法,该方法接受两个对象作为参数。
- 第一个对象用于转换
- 第二个对象用于转换。
示例
// Java程序:将数组转换为链表
// 导入数组、List和LinkedList、Collections类
// 自java.util包
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
// 类
public class GFG {
// 主要驱动程序
public static void main(String[] args)
{
// 创建一个数组
// 字符串类型
String[] strArr = { "G", "E", "E", "K", "S" };
// 创建一个空链表
LinkedList<String> linkedList
= new LinkedList<String>();
// 使用Collections.addAll()方法将数组的所有元素附加到链表中
Collections.addAll(linkedList, strArr);
// 打印上述接收到的LinkedList
System.out.println("Converted LinkedList : "+linkedList);
}
}
输出
Converted LinkedList : [G, E, E, K, S]
极客教程