Java数组转换为集合的相关方法
当将Java数组转换为集合时,可以使用不同的方法来满足不同的需求。以下是几个与数组转换为集合相关的方法:
一、使用 Arrays.asList 方法:
如前所述,Arrays.asList 方法是最常见的将数组转换为集合的方法。它返回一个固定大小的 List 视图,因此不能进行添加或删除操作。示例代码如下:
Integer[] intArray = {1, 2, 3, 4, 5};
List<Integer> intList = Arrays.asList(intArray);

二、使用 ArrayList 构造函数:
如果希望获得一个可变的集合,可以将 Arrays.asList 的结果作为构造函数参数传递给 ArrayList。这样可以在集合中添加、删除元素。示例代码如下:
Integer[] intArray = {1, 2, 3, 4, 5};
List<Integer> intList = new ArrayList<>(Arrays.asList(intArray));
intList.add(6);

三、使用循环遍历数组:
你也可以使用循环来手动将数组中的元素添加到集合中。这样做可以更精细地控制集合的创建过程。示例代码如下:
Integer[] intArray = {1, 2, 3, 4, 5};
List<Integer> intList = new ArrayList<>();
for (Integer num : intArray) {
intList.add(num);
}

四、使用 Java 8+ 的 Stream API:
如果你使用 Java 8 及更高版本,可以使用 Stream API 来进行数组到集合的转换。这可以在一行代码中完成。示例代码如下:
Integer[] intArray = {1, 2, 3, 4, 5};
List<Integer> intList = Arrays.stream(intArray).collect(Collectors.toList());

解释: Arrays.stream(intArray) 创建了一个整数流,其中包含来自intArray的元素。.collect(Collectors.toList()) 收集流的元素,并使用Collectors.toList()方法创建一个列表。
补充:Arrays.asList说明
Integer[] a = {1,2,3,4,5,6};//使用Arrays.asList(a)时 数组需要定义为包装类新
List<Integer> integers = Arrays.asList(a);
System.out.println(integers.getClass());//class java.util.Arrays$ArrayList
integers.forEach(System.out::println);
建议不要轻易使用Arrays.asList方法,这个方法返回的是Arrays的内部类ArrayList,该内部类继承了AbstractList并且标注为RandomAccess与Serializable的,他的底层还是数组,也没有实现修改集合的操作,如图


总结
到此这篇关于Java数组转换为集合的文章就介绍到这了,更多相关Java数组转换集合内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
浅析Java中XPath和JsonPath以及SpEL的用法与对比
XPath,即XML路径语言,是一种用于在XML文档中查找信息的语言,JsonPath是从XPath中发展而来的,专门用于JSON数据格式,本文主要来讲讲他们的用法与区别,需要的可以参考下2023-11-11
SpringBoot的@Scheduled和@Schedules区别小结
本文主要介绍了SpringBoot的@Scheduled和@Schedules区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2025-01-01
详解如何用SpringBoot 2.3.0.M1创建Docker映像
这篇文章主要介绍了详解如何用SpringBoot 2.3.0.M1创建Docker映像,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-05-05
springboot通过spel结合aop实现动态传参的案例
SpEl 是Spring框架中的一个利器,Spring通过SpEl能在运行时构建复杂表达式、存取对象属性、对象方法调用等,今天通过本文给大家介绍springboot spel结合aop实现动态传参,需要的朋友可以参考下2022-07-07


最新评论