大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
数组转集合
在java中的数组有两种情况,一种是存放基本数据类型的数组,一种是存放对象类型的数组。
对于存放对象类型的数组,直接使用Arrays.asList方法即可
对于存放基本数据类型的,如果我们单纯使用Arrays.asList的方法去转换,只会得到对象类型为int[]的集合。这样子每一个元素都是一个基本数据类型数组的对象,而不是我们要存放的数据。
public static void main([]args){
int []a = new int[10];
for(int i=0;i<a.length;a++){
a[i]=i;
}
List<int[]> intList = Arrays.asList(a);
System.out.println(intList.toString());
//可以发现打印出来的是个对象
//----------------------------
//在项目中导入commons-lang3的jar包,利用其提供的ArrayUtils方法
//可以发现,就是将基本数据类型的元素转换成了包装类型的元素。每一个包装类型都是一个对象。
Integer []integer = ArrayUtils.toObject(a);
//即,现在是对象元素的数组。再使用Arrays.asList方法
List<Integer> integerList = Arrays.asList(integer);
System.out.println(integerList.toString());
//----------------------------
//当然也可以不导包,在jdk1.8的流式计算中,也提供了将基本数据类型转换成包装类型
List<Integer> collect = Arrays.stream(a).boxed().collect(Collectors.toList());
System.out.println(collect.toString());
}
集合转数组
集合的toArray方法提供了两种方式,一个是带参数的,一个是不带参数,使用不带参数的将转换为Object类型的。我们选择使用带参数的。
public static void main([] args){
List<Integer> list = new ArrayList<>();
list.put(1);
list.put(2);
list.put(3);
Integer integer[] = list.toArray(new Integer[list.size()]);
//你会发现,list.toArray方法提供了两种方式,选择使用有参的。
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/191832.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...