Java 中数组转换为 List
开发中经常遇到数组和列表(List)互相转换的场景。除了循环依次转换,还有更高效的方法。
Java 中,基本数据类型的数组 -> List,与包装类型的数组 -> List 的方式不同,借助 JDK 8 提供的 Stream,这里对转换方法作个记录。
1 - int 型数组转换为 List
int[] array = {1, 2, 3, 4, 5};
// Stream 表达式,先装箱,再收集
List<Integer> list = Array.stream(array).boxed().collect(Collectors.toList());
2 - List 转换为 int 型数组
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
int[] array = list.stream().mapToInt(x -> x).toArray();
注意:
Arrays.asList()
返回的是Arrays#ArrayList
,不支持添加、删除操作,若要进行添加和删除,可这样操作:
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
3 - String 型数组转换为 List
String[] array = {"Hello", "World", "!"};
List<String> list = new ArrayList<>(Arrays.asList(array));
4 - List 转换为 String 型数组
List<String> list = new ArrayList<String>(Arrays.asList("I", "love", "Java"));
String[] array = new String[list.size];
list.toArray(array);
版权声明
出处: 博客园 瘦风的博客(https://www.cnblogs.com/shoufeng)
感谢阅读, 右侧导航栏有「瘦风的南墙」公众号二维码,输出更及时、更体系,欢迎扫码关注🤝
本文版权归博主所有, 欢迎转载, 但 [必须在页面明显位置标明原文链接], 否则博主保留追究相关人士法律责任的权利.