Array数组转换为List集合
目的:使用List集合中提供的众多方法,便于操作
注意:数组转为List集合,该List集合不能增删元素,只能查询与修改
public static void main(String[] args) {
Double[] arr = new Double[10];
Arrays.fill(arr, 0.0);
List<Double> list = Arrays.asList(arr);
System.out.println(list);//[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
//可以修改元素值
list.set(0, 1.0);
System.out.println(list);//[1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
//不能对list进行增删操作
list.remove(0);//ava.lang.UnsupportedOperationException
list.add(1.0);//java.lang.UnsupportedOperationException
}
List集合转换为Array数组
目的:将集合转换数组,限制增加与删除功能,因为数组长度固定的,不允许改变长度
场景:已经将数据处理完毕,供外界使用,限制外界对其进行增删操作
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("123");
list.add("abc");
//创建并指定数组的长度,数组长度最终最小为list的元素个数,可以指定更长的数组长度,多余的空间将为null
//根据指定的数组将List集合中的元素放入数组中
String[] strArr = new String[list.size()];
String[] arr = list.toArray(strArr);
System.out.println(Arrays.toString(arr));//[123, abc]
String[] strArr2 = new String[list.size()+2];
String[] arr2 = list.toArray(strArr2);
System.out.println(Arrays.toString(arr2));//[123, abc, null, null]
}
}