一、Arrays工具类:操作数组
1、asList将数组变成List集合
好处:可以使用集合的思想和方法来操作数组,但不能
使用增删方法,因为数组的长度是不可变的
如果使用了该方法,会发生UnSupportedOperationException异常
二、集合转成数组
1、asList将数组变成List集合
好处:可以使用集合的思想和方法来操作数组,但不能
使用增删方法,因为数组的长度是不可变的
如果使用了该方法,会发生UnSupportedOperationException异常
实例:
import java.util.*;
/*
Collections.asList()方法实例
结论:
1、如果数组中的元素是对象,那么变成集合时,
数组中的元素直接转成集合中的元素
2、如果数组中的元素是基本类型,那么会将该数组作为
集合中的元素,即现在集合中存储的是一个数组
*/
class AsList
{
public static void main(String[] args) {
String[] arr1 = {"Java","gg","aa","cd"};
List<String> al = Arrays.asList(arr1);
out(al); //[Java, gg, aa, cd]
int[] nums = {1,5,7,3,8};
List<int[]> a2 = Arrays.asList(nums);
out(a2); //[[I@55f33675]
Integer[] n = {1,5,7,3,8};
List<Integer> a3 = Arrays.asList(n);
out(a3); //[1, 5, 7, 3, 8]
}
//输出
public static void out(Object obj) {
System.out.println(obj);
}
}
二、集合转成数组
import java.util.*;
/*
ArrayList转成数组
好处:限制对元素的操作,不需要增删
<T> T[] toArray(T[] a)
按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组;
返回数组的运行时类型是指定数组的运行时类型。
结论:
1、制定的数组多长为恰当
当制定类型的数组长度小于集合size那么,该方法会在内部自动开辟一个
与该size相同的数组
当制定的数组长度大于集合的size时,就不开辟数组,
而是使用该数组,没有使用的位置为null,因为数组自动初始化
由此可以看看出制定的数组大小和size相同时,性能最优
*/
class ArrayListToArray
{
public static void main(String[] args) {
ArrayList<String> arr = new ArrayList<String>();
arr.add("java");
arr.add("fgava");
arr.add("jffa");
arr.add("aa");
String[] a = arr.toArray(new String[arr.size()]);
out(a);
}
//输出
public static void out(Object obj) {
System.out.println(obj);
}
//输出
public static void out(String[] s) {
for(int i=0;i<s.length;i++) {
System.out.print(s[i] + " ");
}
}
}