本教程展示了在Java中将数组转换为列表的几种方法。让我们开始吧!
可以使用 Arrays.asList()
方法, 该方法接受一个数组作为输入,并返回一个列表作为输出。
public static List<String> convertArrayToListAsList(String[] names)
{
List<String> namesLst = Arrays.asList(names);
return namesLst;
}
使用此方法的限制是它返回到一个固定大小的列表。你可以读取和覆盖它的元素;但是,如果您试图从返回的列表中添加/删除元素,就会得到UnsupportedOperationException。
值得一提的是,修改列表中的元素会影响原始数组。简而言之,此方法仅用于生成只读列表。
为了支持在使用array . aslist()时从生成的列表中添加/删除元素,可以从结果中初始化一个完全独立的列表。这可以在下面的例子中看到:
List<String> namesLst = new ArrayList<String>(Arrays.asList(names));
使用Java 8,您可以使用arres .stream()和collections . tolist()实用工具方法将数组转换为列表。
public static List<String> convertArrayToListJava8(String[] names)
{
List<String> namesLst = Arrays.stream(names).collect(Collectors.toList());
return namesLst;
}
Arrays.stream()
将数组转换为流。然后将该流转换为列表 Collectors.toList()
.
返回列表的默认类型是 ArrayList.
要确定需要生成的列表类型,可以使用以下内容:
Collectors.toCollection(LinkedList::new)
您还可以通过遍历数组元素并填充一个元素来手动执行转换 ArrayList.
private static List<String> convertArrayToListManually(String[] names)
{
List<String> namesLst = new ArrayList<String>();
for(String name : names)
{
namesLst.add(name);
}
return namesLst;
}
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有